小编Pat*_*ick的帖子

维护WPF MVVM查看模型和模型关系

这似乎是一个基本问题,但我无法弄清楚最佳实施.如何管理两个视图模型及其相应模型之间的关系.

例如,如果您在PersonViewModel上更改了Occupation属性,那么该更改如何逐渐下降到PersonModel中的Occupation属性.

我现在唯一可以看到它的方法是在视图模型中公开展示模型,但我认为它击败了MVVM的目的 - 将模型与视图分离.

internal class PersonViewModel : INotifyPropertyChanged
{
    private readonly PersonModel person;

    private OccupationViewModel occupation;

    public PersonViewModel(PersonModel person)
    {
        this.person = person;
    }

    public OccupationViewModel Occupation
    {
        get { return this.occupation; }
        set 
        { 
            if (!this.occupation.Equals(value))
            {
                this.occupation = value;
                this.person.Occupation = this.occupation.Occupation; // Doesn't seem right

                this.OnPropertyChanged(new PropertyChangedEventArgs("Occupation"));
            }
        }
    }
}

internal class OccupationViewModel : INotifyPropertyChanged
{
    public OccupationViewModel(OccupationModel occupation)
    {
        this.Occupation = occupation;
    }

    public OccupationModel Occupation { get; set; } // Is this …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

5
推荐指数
2
解决办法
2528
查看次数

标签 统计

c# ×1

mvvm ×1

wpf ×1