Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Где конструктор объекта? / 3 сообщений из 3, страница 1 из 1
14.09.2010, 23:37
    #36846614
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где конструктор объекта?
вот простейший xaml:[SRC xaml]<UserControl x:Class="TestApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:my="clr-namespace:TestApp"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">

<UserControl.Resources>
<my:User x:Name="CurrentUser" x:Key="CurrentUser" />
</UserControl.Resources>

<StackPanel x:Name="LayoutRoot">
<TextBox x:Name="_loginTextBox"
Text="{Binding Login, Mode=TwoWay, Source={StaticResource CurrentUser}}"
Width="100" Height="30" />
</StackPanel>

</UserControl>
[/SRC]
...
Рейтинг: 0 / 0
14.09.2010, 23:48
    #36846626
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где конструктор объекта?
Извиняюсь, вместо предпросмотра, нажал отправить.

Вот простейший xaml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<UserControl x:Class="TestApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:my="clr-namespace:TestApp"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <UserControl.Resources>
        <my:User x:Name="CurrentUser" x:Key="CurrentUser" />
    </UserControl.Resources>
    
    <StackPanel x:Name="LayoutRoot">
        <TextBox x:Name="_loginTextBox" 
                 Text="{Binding Login, Mode=TwoWay, Source={StaticResource CurrentUser}}" 
                 Width="100" Height="30" />
    </StackPanel>

</UserControl>

Вот его код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
using System.Windows.Controls;

namespace TestApp
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            this._loginTextBox.Text = "asdfasf"; // _loginTextBox существует
            MessageBox.Show(this.CurrentUser.ToString()); // CurrentUser НЕ существует !!!
        }

    }

    public class User : INotifyPropertyChanged
    {
        private string _login;
        private string Login
        {
            get { return this._login; }
            set
            {
                this._login = value;
                this.OnPropertyChanged("Login");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string propName)
        {
            if (this.PropertyChanged != null)
                this.PropertyChanged(this, new PropertyChangedEventArgs(propName));
        }

        public override string ToString()
        {
            return this._login;
        }
    }
}

Подскажите пожалуйста почему в методе InitializeComponent нет вызова конструкторов для TextBox и CurrentUser и в то же время TextBox существует, т.е. где-то, каким то чудом его конструктор вызывается, а для моего класса User конструктор не вызывается?

С уважением, Ашот.
...
Рейтинг: 0 / 0
15.09.2010, 00:12
    #36846639
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где конструктор объекта?
Вопрос снимаю, намудрил с x:Name, x:Key.....
надо оставить только x:Key
и в конструкторе после инициализации получить ссылку на юзера так:
this._currentUser = (User)this.Resources["user"];

Хотя все равно не понятно где прописаны конструкторы...........
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Где конструктор объекта? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]