データベースからグループ リストを取得するための静的変数があります。
public static ObservableCollection<Group> GroupList
{
get
{
return Group.getGroups(); //<-- this retrieve group from database
}
}
次に、コンボボックスを xaml のこの静的プロパティにバインドします。
<ComboBox Name="cmbGroup" VerticalAlignment="Top" Width="120" ItemsSource="{Binding Source={x:Static wpf:Group.GroupList}}" DisplayMemberPath="Name" SelectedValuePath="Id" SelectionChanged="cmbGroup_SelectionChanged" />
この時点まで、すべてが正常に機能しています。次に、新しいグループをテキスト ボックスに入力し、データベースに 1 行挿入します。データベースに正常に挿入された後、コンボボックスは変更されませんでした。私が欲しいのは、コンボボックスが即座に更新されることです。
私の理解では、コンボボックスへのバインディングが再び機能するように、何らかの方法で静的 GroupListのプロパティを更新する必要があります。これを達成する方法はありますか?
補足として、私はこのアプローチを使用しているので、データベースからグループリストを取得するためにコードを1回だけ作成する必要があり、コードビハインドに多くの行を記述する必要がなくなります. このアプローチでは、コンボボックスにバインドするためにItemsSource="{Binding Source={x:Static wpf:Group.GroupList}}"だけが必要です。