对所有WPF基本控件进行子类化

时间:2010-10-18 01:34:56

标签: c# wpf controls

而不是使用所有基本的wpf控件,如Label,TextBox,Grid等。我想创建所有这些基本控件的子类并使用子类。

e.g。 公共类MyTextBox:TextBox {}

现在它们将是虚拟课程,但是在将来需要的情况下,它还有可扩展的空间。这是推荐还是不必要?

5 个答案:

答案 0 :(得分:4)

这是yagni

的教科书定义

答案 1 :(得分:1)

听起来不必要,没有效果,绝对不推荐!

答案 2 :(得分:0)

这种做法往往有点矫枉过正。它确实有它的用途是当你知道将来需要更改基本UI控件时。因此,如果您使用的是第三方控件套件,那么您可能会考虑这种方法,但是您不希望使用MS控件来实现它,因为它们已经融入框架中 - 您不会更改它们!

另一种方法是确保您遵循MVVM之类的模式 - 这可以确保您的UI与工作代码完全分离,并且您可以以最小的影响更改控件。

答案 3 :(得分:0)

如果由于某种原因你将来需要一个子类,那么简单地创建它就会比现在做很多不必要的工作容易得多。

答案 4 :(得分:0)

我认为这是不必要的。我们可以使用样式轻松覆盖控件的外观。如果要添加属性,可以使用附加属性。

相关问题