带有绑定的ComboBox中未显示的空项目

时间:2010-09-03 09:42:44

标签: wpf binding combobox null observablecollection

我在使用WPF / C#中的null和ComboBox时遇到了一些困难;如果添加一个null项,则它不会显示/列在ComboBox中。

这是我的ComboBox的de XAML声明

<ComboBox ItemsSource="{Binding Path=MyList}"
          SelectedItem="{Binding Path=Type}" />

MyList声明为

public ObservableCollection<Type> MyList { get; private set; }

并用

初始化
this.MyList = new ObservableCollection<Type>();
this.MyList.Add(null);

绑定工作正常,如果我添加非空项,则列出。 我是否需要指定允许空值?

LG, 多米尼克

2 个答案:

答案 0 :(得分:3)

您可以尝试在绑定中使用TargetNullValue属性,设置一些默认值。即,

 {Binding Path=MyList, TargetNullValue="Empty Item"}

答案 1 :(得分:1)

像我遇到的每个项目一样ComboBox无法为空项目渲染任何内容。我的理解是,如果没有可呈现的可视内容,它会调用项目上的ToString()方法并呈现它。由于您的商品为空,这是不可能的。

我认为这个Q&amp; A虽然可能对你有所帮助。

Display a default DataTemplate in a ContentControl when its content is null or empty?