【发布时间】:2011-06-08 23:02:28
【问题描述】:
我需要添加什么才能从我的视图中为我的 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 上的设置器。一定有一些基本的 MVVM 事情我做错了。
【问题讨论】:
-
这与 MVVM 无关。你做错了其他事情。这实际上会起作用,我已经做了好几次了。
-
好的,谢谢。我让它工作了。我的问题是在设置值之前调用了视图模型的构造函数,而我的代码没有预料到这一点。
-
我建议您将最后一个命令添加为答案,并将其标记为已接受。 ;) 这将使解决方案更加明显。
标签: silverlight mvvm