在WPF中创建自己的UserControl的正确方法(Csharp)

时间:2011-07-02 12:05:34

标签: wpf controls

我有道德问题:) 我在WPF中创建自己的控件(派生UserControl)。现在有两种方式:

  1. 我正在使用一个xaml和一个cs文件并拥有我所有的东西
  2. 我忠于MVVM,为用户控制创建一个xaml和cs文件,为其View Model创建一个cs文件,我正在使用MVVM技术。 然后我像这样使用我的控件: 在xaml:

    <ContentControl Content={Binding MyControl....
    

    在代码中:

    MyControl = new MyControlViewModel()
    
  3. 直到现在我使用了第二种方法,但现在我正在阅读一些明智的文章,似乎许多人首先使用。 那么在创建控件时我应该混合视图和逻辑吗?当然我将MVVM保留在app的其他部分(我试图将所有逻辑内容保存在视图模型中)。 Couse我担心我的cs文件太长了。

1 个答案:

答案 0 :(得分:1)

我的观点是,根据经验,任何需要显式VM的东西不仅仅是一个控件,它已经是一种组件。控件应该相当简单,没有高级业务逻辑。

好吧,所以如果你看到你的代码需要一个VM,你可以说你已经编写了一个组件,所以为它设置一个单独的VM类没有问题。