m-y*_*m-y 15 c# wpf custom-controls mvvm
我正在寻找创建一个我可以在我的页面上重用的公共控件:一个AddressControl,它有Address1,Address2,City,State,Zip等...
最初我刚刚创建了一个AddressEntity
包含所有这些项并实现的class()INotifyPropertyChanged
.我在AddressControl的Code-Behind中将该类作为DependencyProperty包含在内,并将其用作DataContext以绑定其属性.
然后,有人说我的代码很难看,我应该看看MVVM.看着它,我认为:
问题是我见过的每个例子都有一个UserControl作为View而不是CustomControl.在我深入研究之前......
NVM*_*NVM 20
CustomControls永远不会用mvvm完成.
您想要的是数据的可重用视图(用户控件),而不是控件(自定义控件).
UserControls和CustomControls是两个完全不同的野兽.
编辑:
尽管UserControls最初是为什么开发的,但在MVVM中,当您需要特定于模型/视图模型的可重用视图时,通常会使用UserControl.它只是XAMl没有任何代码(除了自动生成的InitializeComponent东西).通常,您将UserControl保存在您使用它的同一个项目中.
当你想要一个通用件的功能,这需要视你去CustomControl 和具有潜在用途外连你目前的应用范围.这里控件实际上是在代码文件中定义的,外观(可以覆盖)来自资源字典中的XAML.通常,您将CustomControl保存在一个单独的ControlLibrary项目中,并引用您希望在其中使用的项目中的库.
在充分尊重WallStreetProgrammer的情况下,仅根据您是否需要无外观控制来选择用户控件和自定义控件之间有点天真.
归档时间: |
|
查看次数: |
10171 次 |
最近记录: |