проблема в реализации xbap mvvm - PullRequest
0 голосов
/ 28 мая 2010

Я пытаюсь реализовать шаблон проектирования mvvm для приложения xbap, но не могу выполнить простое связывание текста.

Ниже приведено определение моего DemoViewModel.cs,

класс DemoViewModel: INotifyPropertyChanged { имя строки;

    public event PropertyChangedEventHandler PropertyChanged;

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
            OnPropertyChanged("Name");
        }
    }

    public DemoViewModel()
    {
        Name = "test";
    }

    protected virtual void OnPropertyChanged(string propertyName)
    {
        if (this.PropertyChanged != null)
        {
            this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }        
}

Я связываю представление с моделью представления, используя код позади представления,

публичный DemoView () { InitializeComponent (); DataContext = new DemoViewModel (); } * +1010 *

Ниже приведено определение привязки для текстового поля, присутствующего в представлении,

Ответы [ 2 ]

0 голосов
/ 14 ноября 2010

На основании вашего комментария, к ответу JSPrang, я знаю, что не так =)

В XBAP отсутствуют разрешения на использование отражения, и поэтому он может связываться только с общедоступными классами, если не работает с полным доверием.

0 голосов
/ 28 мая 2010

Похоже, у вас все правильно подключено. Во время выполнения взгляните на окно «Вывод» и посмотрите, предупреждает ли оно вас о Binding. Также попробуйте немного упростить xaml до следующего и посмотрите, поможет ли это:

<TextBox Text="{Binding Name, Mode=TwoWay}"/>
...