我有一个wpf组合框,它绑定到我的viewmodel中的IEnumberable集合。当首先绑定组合框时,选择空值。在组合框中选择任何其他值时,空值消失。有没有办法在不改变集合的情况下保留空值?
<ComboBox ItemsSource="{Binding CarCollection}" SelectedItem="{Binding SelectedCar}"
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding CarName}" VerticalAlignment="Center"
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
答案 0 :(得分:2)
不,你不能让null
成为一个选项,除非它实际上在列表中。
您当然可以将支持属性设置为null
,这应该清除UI选择。如果您需要 null属性,而不修改视图模型中的列表,请考虑使用CompositeCollection
。有了它,你可以做类似的事情:
<CollectionViewSource x:Key="ComboBoxItems">
<CompositeCollection>
<ListViewItem>Pick a choice</ListViewItem>
<CollectionContainer Source="{Binding MyCollection}"/>
</CompositeCollection>
</CollectionViewSource>
可以在MSDN上找到完整的示例。