我正在尝试将已经存在的应用程序迁移到MVVM模式,但这并不容易。人们如何解决在计算复杂属性时必须对UI方法调用方法的问题。
例如,如果我有一个画布并且想要访问 PointFromScreen 方法,或者处理一个视口元素?是否必须创建派生类?
重写这些方法时,我会考虑的第一件事是,它们是特定于 UI 还是操作数据。 如果PointFromScreen
方法是特定于 UI 的,则根本不需要将其移动到 MVVM 中,而是保持原样。
但是,如果要更改基础模型,则必须创建一个新命令(派生ICommand
(并通过 XAML 中的CommandProperties
传递属性。
希望这有所帮助吗?