2011-08-22 61 views
0

我有這個throuble:添加項目在組合框中選擇該項目,但是選擇的價值仍然是空

有觀察的集合,它綁定到組合框。當集合包含任何項目時,所有工作都正常,我在集合中添加項目,然後在組合框中選擇他,所選值不爲null。

我有項的控制,其中包含反映任何實體的任何組件控制。我可以在與可觀察集合綁定的組合框中選擇參數此實體。

如果我添加的第一個新的實體內容的控制和集合爲空,那麼在集合添加項目 - 這個項目在組合框中選擇automaticaly,但組合框中選擇的值是零。事實證明,這種情況:在組合框中選擇項目,但組合框選定值爲空。如果我選擇這個項目manualy,選定的值設置爲這個項目,並進一步工作аштую我不明白它可能是如何。 有我的代碼: 這是集合

public ObservableCollection<AnyType> AnyTemplates { get; set; } 

這是XAML代碼組合框:

<ComboBox Name="cmbKeyA" 
      Width="100" 
      SelectedValue="{Binding Path=KeyAName}" 
      ItemsSource="{Binding Path=DataContext.KeyTemplates, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Name"/> 
+0

我發現別的東西,問題是,當我在結合我的組合框集合改變值(綁定到組合框selectedValue屬性) - 選定的組合框項目更改,但選定值不更新,直到我手動選擇在這個元素組合框。我更改的屬性發送PropertyChanged事件。 –

回答

0

我不太知道我理解你的問題,但是從我明白我要麼使用一個Dependency屬性或一個實現INotifyPropertyChanged事件綁定到ComboBox的SelectedItem的屬性。然後,當我想將一個Item添加到ObservableCollection(假設您希望它被選中)時,我會將它添加到集合中,並將我的新屬性設置爲等於它。

+0

對不起,如果我的問題變得模糊。我會再試一次,我動態地在Item控件中添加項目。每個Item組件。添加複選框後,SelectedItem和SelectedValue爲空。但是,當我在observableCollection中添加新項時 - 我剛剛添加了將選定項目添加到此新集合元素的Combobox。然後我改變名稱(這個工具Property改變)在這個集合元素和我有 - 組合框selectedItem是這個新的集合元素,但SelectedValue是NULL!爲什麼? –