У меня есть следующее свойство зависимости:
public bool UndoZoom
{
get { return (bool)GetValue(UndoZoomProperty); }
set { SetValue(UndoZoomProperty, value); }
}
// Using a DependencyProperty as the backing store for UndoZoom. This enables animation, styling, binding, etc...
public static readonly DependencyProperty UndoZoomProperty =
DependencyProperty.Register("UndoZoom", typeof(bool), typeof(ZoomBehavior), new PropertyMetadata(false, new PropertyChangedCallback(OnUndoZoomChanged)));
В методах обратного вызова я изменяю это свойство на false:
private static void OnUndoZoomChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
ZoomBehavior zoomBehavior = sender as ZoomBehavior;
if (zoomBehavior == null || zoomBehavior.UndoZoom == false)
return;
//DO SOMETHING...
zoomBehavior.UndoZoom = false;
//ALSO TRY: zoomBehavior.SetValue(UndoZoomProperty, false);
}
Свойство зависимости меняется хорошо, а вот свойство привязки к нему нет!
Обвязка выглядит так:
UndoZoom="{Binding MyClass.UndoZoom,Mode=TwoWay}"
Я хотел бы отметить, что привязка работает, когда я изменяю свойство в модели, обратный вызов срабатывает, это означает, что свойство зависимости изменяется.
Я просто не понимаю, почему это не работает и в другую сторону, я ожидаю, что когда я изменю свойство зависимости, свойство в модели также изменится.
Я бы хотел помочь.
true
, тогда вы сразу устанавливаете его вfalse
. Чего вы пытаетесь достичь? - person Clemens   schedule 21.05.2015