首页 > 解决方案 > 模型更改时 Xamarin 更新 ViewModel 值

问题描述

假设有一个模型:

public class MyCustomModel 
{
    public bool parameter { get; set; }
    ....
}

并且还有几个 ViewModel:

public class MainViewModel : INotifyPropertyChanged
{
    private MyCustomModel model;

    private bool _missingValue = true;
    public bool MissingValue
    {
       get => _missingValue;
       set
       {
           if (_missingValue == value) return;
           _missingValue = value;
           OnPropertyChanged(nameof(MissingValue));
       }
    }
    public MainViewModel(MyCustomModel model)
    {
        this.model = model;
    }
}

public class AdvancedViewModel : INotifyPropertyChanged 
{
    private MyCustomModel model;

    private bool _missingValue = true;
        public bool MissingValue
        {
            get => _missingValue;
            set
            {
                if (_missingValue == value) return;
                _missingValue = value;
                model.parameter = _missingValue;
                OnPropertyChanged(nameof(MissingValue));
            }
        }

    public AdvancedViewModel(MyCustomModel model) 
    {
        this.model = model;
    }
}

当 AdvancedViewModel 中的值更改时(需要调用 setter),我需要更改 MainViewModel 中的值。那么如何正确地做到这一点呢?有什么建议么?提前致谢。

标签: c#xamarinmvvmviewmodel

解决方案


推荐阅读