我仍然不完全确定什么构成了视图模型。我有一个类用于包装我的模型并稍微更改数据,但我不确定它是否构成视图模型。什么是必要的视图模型?它是否只是不应该直接依赖于视图,以便视图模型不知道视图如何使用其属性并且视图不知道视图模型中的内容?当视图想要更新任何东西时,它只是给出了一些抽象命令,视图模型采用并用于更新模型?
正如我在 MVVM 中所理解的那样,我应该在视图上使用绑定到视图模型上的属性的属性,这些属性绑定到模型上的属性。
而在相反的方向,我应该使用从视图到视图模型的命令,然后它可以使用 Icommand 来命令模型,或者可以只调用模型中的公共函数来对其进行更改。
一件令人困惑的事情是,在我看到的 MVVM 示例中,看起来就像在 MVVM 中一样,除了可能创建命令之外,视图应该没有任何代码,但我不知道如何在我当前的项目中做到这一点。我正在使用许多与事件交互的控件来制作自定义控件。
我如何在不使用事件的情况下让一个树视图在另一个树视图的展开上展开?