2

ViewModel があるこのコードがあり、ViewModel にはすべてのプロパティを取得するプロパティがあります。

これは大まかな擬似コードです:

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";のようなことをすると UI を適切に更新します。

ただし、特定の理由 (Javascript - Chakra インターフェイス) でMyClassViewModel.myClassBase.Title = "Test"のようなことをする必要があります。この問題は、RaisePropertyChanged がないため、UI が更新されないことです。

BaseClass 自体の内部に RaisePropertyChangedを実装しても、まだ機能しません。BaseClass の PropertyChanged は常に null であるため、機能しません。

MyClassViewModel が UI にバインドされているためだと思います。そのため、BaseClass の PropertyChanged はバインドされません。

親の RaisePropertyChanged をトリガーする方法はありますか?

ありがとうございました

4

2 に答える 2