¿Qué esperabas? El código de UI utiliza el evento PropertyChanged, pero no en el sentido en que está escribiendo. Los controles nunca implementan INPC (abreviatura de INotifyPropertyChanged), están obligados a objetar que han implementado INPC. De esta manera, ciertas propiedades de la interfaz de usuario, p. la propiedad Text en el control TextBox está vinculada a una propiedad en dicha clase. Esta es la base de la arquitectura MVVM.
ejemplo, podría escribir el siguiente código XAML:
<TextBlock x:Name="txtBox" Text="{Binding Title}" />
y se establece el contexto de datos para TextBlock (o cualquiera de sus ascendientes, DataContext se propaga) en el código de la siguiente manera:
txtBox.DataContext = new Movie {Title = "Titanic"};
Y ahora para la propia clase:
public class Movie : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
private string _title;
public string Title
{
get { return _title; }
set
{
if (_title == value) return;
_title = value;
NotifyPropertyChanged("Title");
}
}
}
ahora, cada vez que CH La propiedad del título, ya sea en el código o a través de otro enlace, la interfaz de usuario se actualizará automáticamente. Google for Data Binding y MVVM.
No funciona como usted. Simplemente cree una clase adicional e implemente la Interfaz de notificación allí y aplique esta clase al DataContext del UserControl. Y funcionará como lo necesites. –