【发布时间】:2010-09-28 11:24:01
【问题描述】:
我正在开发我的第一个真正的 WPF MVVM 模式应用程序。
目前,我在各种屏幕上有许多组合框,它们绑定到 Collection 类和相关 ViewModel 类的属性。
他们总是有一个带有文本<Add> 的条目,这实际上是一个空对象类,如果绑定到 SelectedItem 的属性在其ToString() 输出中具有<Add>,我目前使用它来触发 AddNewObject 事件。这让我觉得很麻烦,而且我喜欢把 View 与 View 模型联系得太紧密。
例如
<ComboBox ItemsSource="{Binding AllObjects}" SelectedItem="{Binding SelectedObject}" />
然后在 ViewModel 代码中:
public SomeObjectType SelectedObject
{
get{return this.fieldSomeObjectType;}
set
{
if(null==value)
return;
if(value.ToString().Contains(@"<Add>"))
{
if(null!=this.AddNewObject)
{
this.AddNewObject;
}
}
}
}
在 XAML 中有没有办法将此额外的行添加到 ComboBox 下拉列表中并将其绑定到 AddNewObject 命令?
【问题讨论】: