2010-08-16 65 views
3

我在WPF中创建一个自定义控件,它是我从控件类型派生的股票代码的非常原始的示例。我的问题是:是否有任何推荐的控件设计模式(而不是应用程序)?我为整个应用程序使用MVVM,但只是在控制本身使用这种设计模式是好的或不好的做法。WPF自定义控件设计模式。 MVVM?

我使用MVVM的控制思维的原因是:

  • 这是一个比较复杂的控制,因为它有一个图形能力和中等价位的依赖项属性,平均等等等等
  • 要作为其一部分的ViewMOdel将使单元测试更容易(甚至可能)
  • 使整个编码过程更加简单,特别是因为我有一个定制的ObservableCollection点类型。

任何关于此事的想法都会很棒。我只是不知道这是否是好的做法。

非常感谢

回答

0

如果控制本身是自包含的,足够复杂到自身被称为看法,我会去与控件本身创建一个独立的视图模型,就像你建议的方法。否则,我只是让它住在它所托管的视图中。

2

1)未来的可扩展性 - 我想说的是控制开发的核心。
2)良好的API设计 - 创建尽可能多的概念证明。
3)来模式 - 如果它真的是很大的控制。使用MVVM很好。但是,学会妥协。有时候,我们会在组件开发时感受到严格遵守MVVM会使控件非常复杂。
4)避免过度暴露属性 - 根据需要添加属性。 [控制感觉它像一个滥用,如果属性过度暴露。 ;)]
5)使控制无视。请参阅L for Lookless

一般:
尽量使控制从开始共混。它会帮助你认识到从出发开始有多好,有用。最重要的是,它提供了很多满足和易于追踪控制的完整性。

当谈到选择一个特定的特征,认为在两个方面:
1)控制的可用性和
2)控制的完整性。