WPF MVVM社区工具包和属性

hgc7kmma  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(134)

在一个C# WPF项目中,我开始使用MVVM社区工具包,我的问题是关于属性的。假设我有一个模型,它有一些属性:

public class TheModel
{
public bool FirstProp {get; set;}
public int SecondProp {get; set;}
}

字符串
然后我有一个Viewmodel,其中包含该Model的示例,通常我会像这样设置属性:

public class TheViewModel : ObservableObject
{
private readonly TheModel _theModel;

public bool FirstProp
{
    get => _theModel.FirstProp;
    set
    {
        if (_theModel.FirstProp != value)
        {
            _theModel.FirstProp = value;
            OnPropertyChanged();
        }
    }
}

public int SecondProp
{
    get => _theModel.SecondProp;
    set
    {
        if (_theModel.SecondProp != value)
        {
            _theModel.SecondProp = value;
            OnPropertyChanged();
        }
    }
}

public TheViewModel(TheModel theModel)
{
_theModel = theModel;
}

}


我的问题是:我想知道MVVM Community toolkit是否提供了一种更短的方法来设置视图模型中的属性(如FirstProp和SecondProp
上面的代码是工作的,但如果你有很多属性,它变得无聊,写他们所有

snvhrwxg

snvhrwxg1#

可以使用SetProperty方法:

public bool FirstProp
{
    get => _theModel.FirstProp;
    set => SetProperty(_theModel.FirstProp, value, _theModel, (m, v) => m.FirstProp = v);
}

字符串
它会为你检查值并调用OnPropertyChanged。它是否比其他的代码更少,我留给你。

相关问题