У меня есть форма WPF / XAML, привязанная к данным со свойством в словаре, похожая на эту:
<TextBox Text="{Binding Path=Seat[2B].Name}">
Seat
отображается как свойство IDictionary<String, Reservation>
объекта самолета.
class airplane
{
private IDictionary<String, Reservation> seats;
public IDictionary<String, Reservation> Seat
{
get { return seats; }
// set is not allowed
}
}
В коде моего окна значение места 2B иногда меняется, и после этого я хочу уведомить пользовательский интерфейс об изменении свойства.
class MyWindow : Window
{
private void AddReservation_Click(object sender, EventArgs e)
{
airplane.Seat["2B"] = new Reservation();
// I want to override the assignment operator (=)
// of the Seat-dictionary, so that the airplane will call OnNotifyPropertyChanged.
}
}
Я посмотрел, является ли Словарь IObservable
, чтобы я мог наблюдать за изменениями в нем, но, похоже, это не так.
Есть ли какой-нибудь хороший способ "поймать" изменения всловарь в самолете-класс, чтобы я мог NotifyPropertyChanged
.