我的silverlight项目使用MVVM。对于examlpe,我有文本框,绑定到ViewModel属性。文本框内容可以从View或ViewModel更改。从View查看内容时我需要知道。我如何实现相应的MVVM?
答案 0 :(得分:0)
如果你的viewmodel实现了INotifyPropertyChanged / INotifyPropertyChanging,那么你可以挂钩它。这对我有用。
答案 1 :(得分:0)
如果您使用bindings,则会在您的setter中获取相关信息。 这是一个小例子: XAML:
<TextBox Text="{Binding MyProperty, Mode=TwoWay}" />
ViewModel的C#:
private string myProperty = "Test";
public String MyProperty
{
get { return myProperty; }
set
{
Debug.WriteLine("Property set");
myProperty = value;
NotifyPropertyChanged("MyProperty");
}
}
每次更改文本,TextBox失去焦点,调用setter。 如果您想在每次按键时调用设置器,请查看here。这对于触发绑定来说是一个快速而又脏的解决方案;)更好的方法是为此编写一个行为。
希望这有帮助!
BR,
TJ