【发布时间】:2011-09-01 03:37:31
【问题描述】:
我对 WPF 和 MVVM 比较陌生,我发现最难的事情是如何在应用程序中简单地切换用户控件或视图。
在 winforms 中,要让控件自行删除,您可以简单地说 this.Parent.Controls.Remove(this);
在 WPF 中没有通用父控件,您必须将其类型转换为特定类型(即网格),然后将其删除。
这似乎也打破了 MVVM 架构。我也尝试过数据模板和内容展示器,它们运行良好,除了我无法从代码中更改数据上下文,因为数据上下文始终是视图模型定位器。
页面现在是 WPF 中可接受的方式吗?如果我有一个带有自定义 usecontrol 的网格并且我想根据 viewModel 中的某个变量来切换它怎么办?在 WPF 中似乎无法轻松完成最简单的任务。
【问题讨论】:
标签: wpf mvvm-light