Mar*_*mić 8 c# architecture wpf mvvm wpf-controls
我在WPF应用程序中使用AvalonDock,需要保持用户设置的AvalonDock的布局(移动,对接,拆分面板).
执行此操作的功能在控件本身(SaveLayout,RestoreLayout).
这样做的正确方法是什么?
现在,我在mainWindowViewModel上有一个命令,它在创建窗口视图和viewmodel的实例时由应用程序创建.它基本上使relay命令调用一个匿名方法,该方法在视图控件上调用所需的函数.这是有效的,因为应用程序为它创建了窗口和视图模型.
但是,如果某个较低级别的视图和视图模型必须这样做,我将如何处理此问题?如果使用这种方法,我还必须在应用程序级别创建Command并通过viewModels将其发送到需要绑定的位置?在它内部,我必须搜索usercontrol,这是一个视图,然后在其中的avalonDock控件,并在应用程序级别使用它,这是容易出错的.不知何故,它似乎很脏......
谢谢!
您可以引入一个接口IView,以便 ViewModel 可以调用 View 上的方法。这样,ViewModel 就不需要了解具体的 View 类,并且仍然可以进行单元测试。
\n\nWPF 应用程序框架 (WAF)的示例应用程序展示了如何实现这一点。
\n| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |