【发布时间】:2016-05-24 15:07:39
【问题描述】:
当我的视图中有一个组合框并且希望一个空项目能够取消选择该选项时,我在我的视图中使用此代码:
<ComboBox.Resources>
<CollectionViewSource x:Key="comboBoxSource" Source="{Binding ElementName=ucPrincipal, Path=DataContext.MyProperty}" />
</ComboBox.Resources>
<ComboBox.ItemsSource>
<CompositeCollection>
<entities:MyType ID="-1"/>
<CollectionContainer Collection="{Binding Source={StaticResource comboBoxSource}}" />
</CompositeCollection>
</ComboBox.ItemsSource>
在这种情况下,是视图将 ID 设置为 -1 以指示这是特殊项目。但我不太喜欢这种解决方案,因为视图模型取决于视图是否正确设置。
所以我想在我的视图模型中有这个属性:
public readonly MyType MyNullItem = new MyType();
但我不知道如何在视图中的复合集合中使用它,而不是:
<entities:MyType ID="-1"/>
有可能吗?
谢谢。
【问题讨论】:
标签: wpf data-binding wpf-controls compositecollection