我需要添加什么来设置我ViewModel实例上的公共属性?我想在ViewModel资源上设置一些属性,而不是从视图中的某个元素绑定它。从视图设置ViewModel的属性
查看XAML:
<UserControl.Resources>
<vm:MainViewModel x:Key="mainViewModel" MyProperty="30" />
</UserControl.Resources>
<UserControl.DataContext>
<Binding Source={StaticResource mainViewModel}" />
</UserControl.DataContext>
MainViewModel.cs(实现INotifyPropertyChanged)
private int _myProperty;
public int MyProperty{
get { return _myProperty; }
set
{
_myProperty = value;
OnPropertyChanged("MyProperty");
}
}
上myProperty的setter方法不会被调用。必须有一些基本的MVVM事情我做错了。
这与MVVM无关。你做错了什么。这实际上会工作,我已经做了好几次。 – Will 2011-06-09 14:10:03
好的谢谢。我得到它的工作。我的问题是viewmodels的构造函数在设置值之前调用,而我的代码并不期待这个。 – vanslyker 2011-06-09 15:22:03
我建议你添加最后一条命令作为答案,并将其标记为已接受。 ;)这将使解决方案更加可见。 – 2011-06-09 17:16:22