Как я могу получить доступ к свойству вида из моей ViewModel? - PullRequest
2 голосов
/ 21 сентября 2010

У меня есть ViewModel, свойства которой ограничены в представлении (файл XAML). У меня также есть свойство "StaticText" в коде файла.

как я могу получить доступ к свойству "StaticText" из ViewModel?

В соответствии с предложением Кэмерона я создал свойство зависимости в моем представлении:

    String textToTest="I am just testing .";

     public string TextToTest
     {
         get { return (string)this.GetValue(TextToTestProperty); }
         set { this.SetValue(TextToTestProperty, value); }
     }
     public static readonly DependencyProperty TextToTestProperty =
         DependencyProperty.Register("TextToTest", typeof(string),
         typeof(MainWindow), new PropertyMetadata(false));

и я добавил это в конструктор:

         Binding aBinding = new Binding();
         aBinding.Path = new PropertyPath("TextToTest");
         aBinding.Source = viewModel;
         aBinding.Mode = BindingMode.TwoWay;
         this.SetBinding(TextToTestProperty, aBinding);

но я получаю исключение при запуске кода.

1 Ответ

3 голосов
/ 21 сентября 2010

Сделав свойство Свойство зависимости , вы можете привязать свойство в представлении к свойству в модели представления.

public string TextToTest
{
    get { return (string)this.GetValue(TextToTestProperty); }
    set { this.SetValue(TextToTestProperty, value); } 
}
public static readonly DependencyProperty TextToTestProperty = 
    DependencyProperty.Register("TextToTest", typeof(string), 
    typeof(MyControl), new PropertyMetadata(""));

См. Как: реализовать свойство зависимостей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...