【发布时间】:2018-10-23 12:33:33
【问题描述】:
我有一个组合框,我在开头添加了<x:Null/>,因为“null”是绑定属性的完全有效值,但 WPF 似乎不愿意设置它。这是 XAML:
<ComboBox SelectedItem="{Binding PropertyName}">
<ComboBox.ItemsSource>
<CompositeCollection>
<x:Null/>
<CollectionContainer Collection="{Binding (available items)}"/>
</CompositeCollection>
</ComboBox.ItemsSource>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name, FallbackValue='(None)'}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
(available items) 中的集合包含具有Name 属性的对象。当PropertyName 的当前值为空时,组合框正确显示(None),并且当我选择一个时它设置为集合中的一个项目,但是当我选择(None) 时,它不会将属性设置为空。有什么办法可以让它做到这一点?
【问题讨论】:
-
我不能承认,如果
PropertyName是null,那么组合框中的选定值是(None)。我在下拉列表中有(None)条目,但它没有被选中。