Есть control с bindable свойством. Я хочу запретить изменение этого свойства из других классов, но в тоже время оно должно биндиться и устанавливаться этим классом. По сути можно поставить Mode=OneWayToSource, но хотелось бы сделать защиту. Можно ли это реализовать или уповать только на Mode?
public class WPFControl : Control
{
public static RoutedEvent RenderWindowChangedEvent =
EventManager.RegisterRoutedEvent("RenderWindowChanged", RoutingStrategy.Bubble,
typeof(RoutedPropertyChangedEventHandler<PropertyType >), typeof(WPFControl));
public event RoutedPropertyChangedEventHandler<PropertyType > RenderWindowChanged
{
add { AddHandler(RenderWindowChangedEvent, value); }
remove { RemoveHandler(RenderWindowChangedEvent, value); }
}
public static readonly DependencyProperty RenderWindowProperty =
DependencyProperty.Register("RenderWindow", typeof(PropertyType), typeof(WPFControl),
new FrameworkPropertyMetadata(null, OnRenderWindowChanged));
public PropertyType RenderWindow
{
get { return (PropertyType)GetValue(RenderWindowProperty); }
set { SetValue(RenderWindowProperty, value); }
}
private static void OnRenderWindowChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
{
var control = (WPFControl)dependencyObject;
}
}