【发布时间】:2012-02-05 19:19:41
【问题描述】:
我的任务是编写一个用户控件以使用 MVVM 模式显示一些结果。
主应用程序(称为ApplicationVM)有两个a 属性UserControlViewModel 和SelectedRecord。第一个属性包含UserControlViewModel 的一个实例。在 XAML 中,我使用这些属性将UserControl 绑定到UserControlViewModel。 DependencyProperty PageCount 用于在视图中的显示函数和 UserControlViewModel 之间进行简单通知。
<control:UserControl DataContext="{Binding UserControlViewModel}" PageCount="{Binding DocumentPageCount}" />
这是 ApplicationViewModel 中第二个属性的实现。
public Record SelectedRecord
{
get
{
return m_SelectedRecord;
}
set
{
m_SelectedRecord = value;
OnPropertyChanged("SelectedRecord");
}
}
稍后,此属性将被替换。但我应该做的是在属性“SelectedRecord”和“UserControlViewModel”的“Record”之间建立依赖关系,它调用一个函数来生成新内容(例如GenerateContent())。如何使SelectedRecord 属性的更改更新UserControlViewModel 的Record 属性以生成新内容?或者我的UserControlViewModel 可以听到OnPropertyChanged("SelectedRecord") 自动生成新内容吗?
【问题讨论】:
-
你应该在这里使用中介者模式 (en.wikipedia.org/wiki/Mediator_pattern)