2012-02-03 32 views

回答

2

綁定組合框的ItemsSource到的ObservableCollection,那麼你就可以趕上的ObservableCollection的事件CollectionChanged

編輯:

在WPF建議使用綁定的,而不是訪問UI元素屬性直接,當然最好使用MVVM,但你可以沒有它太在您的Windows用戶控件或C#代碼

你可以保持物業這樣

public ObservableCollection<string> MyCollection{get;set;} 

初始化它在構造函數中

MyCollection = new ObservableCollection<string>() 
MyCollection.CollectionChanged += SomeMethod; 

比命名用戶控件在XAML這樣

<UserControl Name="myUserControl".../> 

寫你的ComboBox這樣

<ComboBox ItemsSource="{Binding ElementName=myUserControl, Path=MyCollection}"... 
現在

,而不是添加和刪除項目組合框元素,將tham添加到MyCollection中,它們將出現在組合框中

希望這會有所幫助

+0

我將其標記爲答案,即使我不能想出去做呢。谷歌給了我很多關於這個問題的線索,但我真的不知道該怎麼做......然而:謝謝你的提示! – theknut 2012-02-03 11:21:05

+1

我加入更詳細的描述如何做到@theknut,請看看 – 2012-02-03 12:21:11

0

當ComboBox.Items數量發生變化時,不要認爲有任何事件觸發。添加或刪除項目時,您可能應該執行代碼。

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 

End Sub 

OR

protected void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 

} 
相關問題