Есть ли способ уведомить привязки объекта DependencyObject, когда внутренние свойства DependencyProperties изменились?
Например, у меня есть этот класс:
public class BackgroundDef : DependencyObject
{
public static readonly DependencyProperty Color1Property =
DependencyProperty.Register("Color1", typeof(Color),
typeof(BackgroundDef), new UIPropertyMetadata(Colors.White));
public static readonly DependencyProperty UseBothColorsProperty =
DependencyProperty.Register("UseBothColors", typeof(bool),
typeof(BackgroundDef), new UIPropertyMetadata(false));
public static readonly DependencyProperty Color2Property =
DependencyProperty.Register("Color2", typeof(Color),
typeof(BackgroundDef), new UIPropertyMetadata(Colors.White));
public Color Color1
{
set { SetValue(Color1Property, value); }
get { return (Color)GetValue(Color1Property); }
}
public bool UseBothColors
{
set { SetValue(UseBothColorsProperty, value); }
get { return (bool)GetValue(UseBothColorsProperty); }
}
public Color Color2
{
set { SetValue(Color2Property, value); }
get { return (Color)GetValue(Color2Property); }
}
}
Для которого у меня есть 3 отдельных двусторонних привязки, которые устанавливают значения для Color1, Color2 и UseBothColors. Но у меня также есть привязка для экземпляра BackgroundDef, который должен создать кисть и нарисовать фон кнопки (либо одного цвета, либо двух цветов градиента). Моя проблема заключается в том, что двусторонние привязки для DependencyProperties обновляют свойства, но привязка для экземпляра класса не вызывается, так как, по-видимому, весь объект не изменяется. Любая идея, как я мог бы вызвать привязки для объекта DependencyObject, когда свойства DependencyProperties изменены?