首页 文章

WPF和MVVM模型以及viewModel分离

提问于
浏览
0

我是WPF和MVVM的新手,我对如何将模型和viewModel用于我需要的东西感到有些困惑 . 该应用程序将具有一个全局“World”对象,该对象将包含各种自定义类的对象集合,这些对象将由侦听端口和套接字的后台线程连续创建,销毁和更新,这是应用程序逻辑的主体 . 无论页面导航如何,这个对象集合都需要在整个应用程序执行期间保持静态,并且可以从自定义类访问并可从UI进行编辑(将有一个页面用于概述“世界”状态,以及用于详细视图,编辑对象和配置的页面 .

从我读过的内容来看,我收集的这些数据应该由模型维护,而ViewModel应该访问它以为View做好准备 . 这是否意味着,对于我创建并需要用户查看或编辑的每个“世界”自定义类,应该有一个ViewModel匹配?

查看代码示例和教程,我看到viewModels对象链接到XAML代码中的视图,并在加载所述视图页面时进行实例化(并在退出时销毁) . 如何将viewModel对象链接到特定的现有Model对象,从该对象获取所有数据并且必须保存UI输入数据?

总结一下:

  • 在应用程序启动(app或mainWindow范围)中创建World对象集合 . 例如,创建类Task的对象 .

  • 启动后台进程,访问任务集合并根据找到的内容执行操作 . (他们也可以更改数据,因此必须通知modelview显示更改) .

  • 启动GUI导航,动态创建控件,查看和编辑世界对象中的数据 . 例如,显示控件以管理多个任务 .

如何将Model对象(例如特定任务)与viewModel链接?在XAML上?在viewModel后面的代码中,每个Model实例化都有一些唯一的标识符?在代码隐藏中添加控件时,将模型对象实例传递给viewModel?模型通知de viewModel和反之更改的最佳方法是什么?

我将不胜感激任何指导或对代码示例的引用,以解决这种情况 .

提前致谢

1 回答

  • 1

    拥有每个视图模型可以访问模型对象的服务 - 请参阅mvvm services

相关问题