Имам следното свойство на зависимост:
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