【发布时间】:2015-10-02 21:34:25
【问题描述】:
我有两个布局完全不同的控件,但它们的 XAML 结构非常相似(相同种类的容器甚至相同的元素名称),因此它们背后的代码是相同的。不幸的是,到目前为止,我不得不为这两个类中的每一个上的所有事件处理程序重复代码。
我现在正在使用组合提取卫星类的通用功能,但构造函数、字段声明和初始化的冗余仍然困扰着我很多。
所以问题归结为:
当两个用户控件只有布局差异但代码隐藏相同时,有没有办法避免代码后面出现冗余代码?
【问题讨论】:
-
如果它们共享相同的事件和逻辑,为什么不创建一个实现命令的视图模型呢?在这种情况下,两个控件都将使用相同的视图模型,您无需再次重写事件。实际上最好将代码保留为空以获得更好的结果。看看这个怎么做,wpf-tutorial.com/commands/using-commands
-
取决于你在做什么附加属性可能是正确的。他们作曲很好。
标签: wpf xaml code-behind