Моя цель - привязать набор объектов в WPF. Сначала я попытался использовать дженерики, но потерпел неудачу Поскольку я не могу привести универсальные свойства к интерфейсам INotifyProperty, я могу подключить событие изменения.
Итак, я придумал этот класс для использования в качестве объекта в моем BindingList. (Да, они нужны мне, чтобы уведомлять меня об изменении объекта в списке). Поэтому мне нужно ваше мнение, улучшения в моем коде.
public class GPair : ObservableObject
{
public GPair()
{
}
private ObservableObject _first;
public ObservableObject First
{
get
{
return this._first;
}
set
{
this._first = value;
((ObservableObject)value).PropertyChanged +=new PropertyChangedEventHandler(First_PropertyChanged);
RaisePropertyChanged("First");
}
}
private ObservableObject _second;
public ObservableObject Second
{
get
{
return this._second;
}
set
{
this._second = value;
((ObservableObject)value).PropertyChanged += new PropertyChangedEventHandler(Second_PropertyChanged);
RaisePropertyChanged("Second");
}
}
private void First_PropertyChanged(object sender, PropertyChangedEventArgs args)
{
RaisePropertyChanged("First");
}
private void Second_PropertyChanged(object sender, PropertyChangedEventArgs args)
{
RaisePropertyChanged("Second");
}
}
ObservableObject - это просто вспомогательный класс, который реализует INotifyPropertyChanged.
Этот фрагмент кода позволяет мне соединить два объекта в привязке ... Сама привязка будет выглядеть так:
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=First.ObjectPropertie}" />
<TextBlock Text="{Binding Path=Second.ObjectPropertie}" />
</StackPanel>
Есть мнения или улучшения ??
С уважением!