У меня есть этот код, где у меня есть моя ViewModel, и у ViewModel есть свойство, где он получает все свои свойства.C# Trigger RaisePropertyChanged of Parent от ребенка?
Это грубый псевдокод:
public class MyClassViewModel : INotifyPropertyChanged
{
public MyClassViewModel()
{
}
public BaseClass myClassBase { get ; set; }
public string Title
{
get
{
return myClassBase.Title;
}
set
{
myClassBase.Title = value;
RaisePropertyChanged("Title");
}
}
public string Description
{
get
{
return myClassBase.Description;
}
set
{
myClassBase.Description = value;
RaisePropertyChanged("Description");
}
}
}
И это BaseClass:
public class BaseClass
{
public BaseClass()
{
}
public string Title {get;set;}
public string Description {get;set;}
}
CheckItemViewModel является один переплетены в UI. Поэтому, если я делаю что-то вроде MyClassViewModel .Title = "Test"; он правильно обновляет пользовательский интерфейс.
Однако, мне нужно сделать что-то вроде MyClassViewModel.myClassBase.Title = "Test" по определенным причинам (Javascript - интерфейс Chakra). Проблема заключается в том, что пользовательский интерфейс не обновляется, так как он не имеет RaisePropertyChanged.
Даже когда я внедрил RaisePropertyChanged внутри BaseClass сам по себе он по-прежнему не работает. Это не работает, потому что Свойство: Изменено в BaseClass всегда равно.
Я подозреваю, что это связано с тем, что MyClassViewModel привязан к пользовательскому интерфейсу. Так что PropertyChanged в BaseClass никогда не привязан.
Есть ли способ вызвать Parise's RaisePropertyChanged?
Спасибо