c# - MVVM模型——模型之间的关联

标签 c# wpf mvvm

假设我有以下模型:

class Worker
{
    int Id;
    string firstname;
    string lastname;    
}

class Department
{
    string title;
    string description; 
    List<Worker> workers;
}

我想在 UI 上显示列表框中的部门标题、描述和工作人员列表(在列表框中我只想显示名字和姓氏)。
我是否需要创建一个 View 模型来包装这种关系,或者我必须为我拥有的每个模型创建一个 View 模型?

最佳答案

您可以在 ViewModel 上创建,像这样包装它们:

namespace XXXX.ViewModel
{
public class MainViewModel : ViewModelBase
{
    private int _id;
    private string _total;
    private string _description;

    private ObservableCollection<Worker> _workers;

    public int Id
    {
        get { return _id; }
        set
        {
            if (value == _id) return;
            _id = value;
            RaisePropertyChanged("Id");
        }
    }
    public string Total
    {
        get { return _total; }
        set
        {
            if (value == _total) return;
            _total = value;
            RaisePropertyChanged("Total");
        }
    }
    public string Description
    {
        get { return _description; }
        set
        {
            if (value == _description) return;
            _description = value;
            RaisePropertyChanged("Description");
        }
    }
    public ObservableCollection<Worker> Workers
    {
        get { return _workers; }
        set
        {
            if (value == _workers) return;
            _workers = value;
            RaisePropertyChanged("Workers");
        }
    }

    //****************** You Logic *************************
    public MainViewModel()
    {
        Department department = new Department();
    }
    //****************** You Logic *************************
}
}

关于c# - MVVM模型——模型之间的关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734451/

相关文章:

ios - (MVVM) 每个 View 或每个模型的 View 模型?

c# - 如何在 C# 中从 api 解析奇怪的 json 对象

wpf - WPF 中的响应式文本大小

WPF ListView 设置 SelectedItem

c# - 如何使用 OnPropertyChanged() 对 setter 进行单元测试;在里面?

c# - WPF 中用户控件的输入和输出

C# 到 Lambda - 计算小数位数/第一位有效小数

c# - 如何转义 C# 注释中的字符?

c# - 在重写的 void 中运行异步方法

wpf - VisualStateManager和生成的过渡