我有道德问题:) 我在WPF中创建自己的控件(派生UserControl)。现在有两种方式:
我忠于MVVM,为用户控制创建一个xaml和cs文件,为其View Model创建一个cs文件,我正在使用MVVM技术。 然后我像这样使用我的控件: 在xaml:
<ContentControl Content={Binding MyControl....
在代码中:
MyControl = new MyControlViewModel()
直到现在我使用了第二种方法,但现在我正在阅读一些明智的文章,似乎许多人首先使用。 那么在创建控件时我应该混合视图和逻辑吗?当然我将MVVM保留在app的其他部分(我试图将所有逻辑内容保存在视图模型中)。 Couse我担心我的cs文件太长了。
答案 0 :(得分:1)
我的观点是,根据经验,任何需要显式VM的东西不仅仅是一个控件,它已经是一种组件。控件应该相当简单,没有高级业务逻辑。
好吧,所以如果你看到你的代码需要一个VM,你可以说你已经编写了一个组件,所以为它设置一个单独的VM类没有问题。