Как узнать, что свойство было изменено с View - PullRequest
0 голосов
/ 24 июля 2011

Мой проект Silverlight использует MVVM. Для проверки у меня есть текстовое поле, привязанное к свойству ViewModel.Содержимое текстового поля может измениться из View или ViewModel.Мне нужно знать, когда содержимое изменилось из просмотра.Как я могу реализовать это соответственно MVVM?

Ответы [ 2 ]

0 голосов
/ 24 июля 2011

если вы используете bindings , вы получите информацию в своем установщике. Вот небольшой пример: XAML:

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

C # вашей ViewModel:

private string myProperty = "Test";

        public String MyProperty
        {
            get { return myProperty; }
            set
            {
                Debug.WriteLine("Property set");
                myProperty = value;
                NotifyPropertyChanged("MyProperty");
            }
        }

Каждый раз, когда вы изменяете текст и TextBox теряет фокус, вызывается сеттер. Если вы хотите, чтобы сеттер вызывался каждый раз, когда вы нажимаете клавишу, посмотрите здесь . Это немного быстрое и грязное решение для запуска привязки;) Лучшим способом было бы написать поведение для этого.

Надеюсь, это поможет!

BR

TJ

0 голосов
/ 24 июля 2011

Если в вашей модели представления реализован INotifyPropertyChanged / INotifyPropertyChanging, вы можете подключиться к нему. Это работает для меня.

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