Tengo una clase llamada MyComponent y tiene una PropertyProject de DependencyProperty caled.WPF personalizado DependencyProperty notify changes
public class MyComponent
{
public MyBackground Background
{
get { return (MyBackground)GetValue(BackgroundProperty); }
set { SetValue(BackgroundProperty, value); }
}
public static readonly DependencyProperty BackgroundProperty =
DependencyProperty.Register("Background", typeof(MyBackground),
typeof(MyComponent), new FrameworkPropertyMetadata(default(MyBackground), new PropertyChangedCallback(OnPropertyChanged)));
}
MyBackground es una clase que deriva de DependencyObject y tiene algunas DependencyProperties.
public class MyBackground : DependencyObject
{
public Color BaseColor
{
set { SetValue(BaseColorProperty, value); }
get { return (Color)GetValue(BaseColorProperty); }
}
public static readonly DependencyProperty BaseColorProperty =
DependencyProperty.Register("BaseColor", typeof(Color),
typeof(MyBackground), new UIPropertyMetadata(Colors.White));
[...]
}
Ahora, lo que quiero decir cuando se cambia una propiedad de MyBackground, MyComponent a ser notificado de que MyBackground ha cambiado y el PropertyChangedCallback llamado OnPropertyChanged a ser llamado.
Estoy un poco confundido sobre por qué lo necesitas. Por lo general, es al revés, donde se usan DP para enlaces y cuando cambian, desea notificar al DP. ¿Por qué lo necesitarías al revés? –
¿Qué quieres decir con esto es hacia atrás @Orribitan? Esto es WPF estándar. Si modifico el valor de una propiedad de dependencia, todas las cosas ligadas a esa propiedad lo sabrán al instante. Este es el tipo de propiedades de dependencia, y el enlace de datos de WPF se basa en este concepto. – BrainSlugs83
@ BrainSlugs83 Piense en la visibilidad de un control limitada a una propiedad en la clase del ViewModel, llamémosle 'IsVisibile'. el 'Visibility' es el DP y el' IsVisibile' es una propiedad simple. Lo que generalmente sucede es cuando cambios 'IsVisible' quieres notificar a la UI (sobre todo usando 'INotifyPropertyChanged') para que el 'DP' sepa que se cambió el valor, y no al revés ... –