WPF自定义控件设计模式。MVVM?

3
我正在WPF中创建一个自定义控件,它是从Control类型派生的股票行情图的高度不原创的示例。我的问题是:有没有推荐的控件设计模式(而不是应用程序)?我在整个应用程序中使用MVVM,但只是想知道在控件本身中使用这样的设计模式是好还是坏。
我考虑在控件中使用MVVM的原因是:
- 它是相对复杂的控件,具有绘图能力和Midprice、Average等依赖属性。 - 使其成为ViewModel会更容易进行单元测试(甚至使之成为可能)。 - 使整个编码过程更加容易,特别是因为我有一种定制化的ObservableCollection点类型。
对此有任何想法都将是很棒的。我只是不知道这是否是好的实践方法。
非常感谢!
2个回答

2

1) 未来可扩展性 - 控件开发的核心。
2) 良好的API设计 - 创建尽可能多的概念证明。
3) 模式 - 如果控件真的很大,最好使用MVVM。但是,也要学会妥协。有时候,当涉及到组件开发时,严格遵循MVVM会使控件变得非常复杂。
4) 避免过度暴露属性 - 根据需要添加属性。[如果属性过度暴露,控件会感觉像被滥用一样。 ;)]
5) 让控件看起来无样式。请参阅L is for Lookless

总体:
尝试从一开始就使控件可混合。这将帮助您意识到控件从一开始就有多好和可用。最重要的是,它可以提供更多的满足感,并且易于跟踪控件的完整性。

在选择特定功能时,请考虑两个方面:
1) 控件的可用性和
2) 控件的完整性。


0
如果控件本身是自包含并足够复杂以自成一个视图,那么我会采用创建一个单独的控件视图模型的方式,就像你建议的那样。否则,我会让它留在所托管的视图中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接