2015-01-26 47 views
2

我有一個wpf組合框綁定到我的viewmodel中的IEnumberable集合。當組合框第一次綁定時,選擇一個空值。在組合框中選擇任何其他值時,空值將消失。有沒有辦法讓空值保留而不改變集合?WPF comobox綁定空值

<ComboBox ItemsSource="{Binding CarCollection}" SelectedItem="{Binding SelectedCar}" 
     <ComboBox.ItemTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding CarName}" VerticalAlignment="Center"         
       </DataTemplate> 
      </ComboBox.ItemTemplate> 
</ComboBox> 

回答

2

不,你不能有null是一種選擇,除非它實際上是在列表中。

你當然可以將支持屬性設置爲null這應該清除UI選擇。如果您需要需要 null屬性,而不修改視圖模型中的列表,請考慮使用CompositeCollection。有了它,你可以做這樣的事情:

<CollectionViewSource x:Key="ComboBoxItems"> 
    <CompositeCollection> 
     <ListViewItem>Pick a choice</ListViewItem> 
     <CollectionContainer Source="{Binding MyCollection}"/> 
    </CompositeCollection> 
</CollectionViewSource> 

一個完整的例子可以在MSDN找到。