Это всего лишь предположение, но я думаю, что это может быть связано с тем, что параметр sender
, передаваемый обработчику событий, является экземпляром HandlesPropertyChangeEvents
, когда привязка ожидает экземпляр MainWindow
.
Попробуйте изменить код так, чтобы отправителем был экземпляр MainWindow
:
private PropertyChangedEventHandler _propertyChanged;
public event PropertyChangedEventHandler PropertyChanged
{
add { lock (this.mHandler) { this._propertyChanged += value; } }
remove { lock (this.mHandler) { this._propertyChanged -= value; } }
}
...
public MainWindow()
{
InitializeComponent();
mHandler.PropertyChanged += mHandler_PropertyChanged;
}
private void mHandler_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
var handler = _propertyChanged;
if (handler != null)
_propertyChanged(this, e);
}