2012-02-03 15 views

答えて

2

バインドコンボボックスのItemsSourceのObservableCollectionに、あなたはのObservableCollectionのイベントて、CollectionChangedをキャッチすることができます

EDIT:

で、代わりに、直接、もちろん良く使用するためにUIエレメントプロパティにアクセスの結合を使用することをお勧めしますWPF MVVMていますが、この

public ObservableCollection<string> MyCollection{get;set;} 
01のような性質を維持することができ、あまりにもそれなしで、あなたのWindowsまたはUserControlsのC#コードで

を生きることができます

この

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

のようにXAMLでユーザーコントロールに名前を付けるよりも

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

コンストラクタでそれを初期化書く今、この

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

のようなあなたのコンボボックスの代わりにコンボボックス要素へのアイテムの追加と削除のMyCollectionにthamを追加すると、コンボボックスに表示されます

希望します。

+0

私は、私はまだそれを行うには把握できなかったにもかかわらず、その答えとして、それをマーク。 Googleはこの問題について多くのスレッドを教えてくれましたが、どうやってそのようにするのか本当に分かりません...でも、ヒントありがとう! – theknut

+1

私はもっと詳しい説明を追加して@theknutを行う方法を見てください –

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) 
{ 

} 
関連する問題