【问题标题】:Inheriting from a control vs Creating a new control template从控件继承与创建新控件模板
【发布时间】:2012-08-29 10:18:09
【问题描述】:

我正在创建一个 WPF 应用程序(也是基于 MVVM 的),在决定是继承和创建自定义控件还是为该控件创建新样式模板时,我应该考虑什么。

我应该注意,我所有修改过的控件以后都应该被其他开发人员使用,他们会将它们作为单独的程序集接收。

例如 - 水印文本框:您可以创建一个 Custom Control 或创建一个 new style(请注意两者来自同一个博客...)。

是否有任何“经验法则”来帮助决定一种方式与另一种方式?

【问题讨论】:

    标签: wpf mvvm custom-controls controltemplate


    【解决方案1】:

    通常您会继承以添加功能并更改模板以更改外观。因此,如果它比原始控件做更多的事情,我会使用一个子类。 (当然,您也可以通过模板在某种程度上扩展功能,但这有点离题。)

    【讨论】:

    • 那么你将如何对水印文本框进行分类,例如?
    • @Blachshma:这只是外观,所以我认为不需要新控件。但是,如果水印是动态的,您可以考虑它的功能(例如,为消息添加一个属性)。
    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 2011-01-16
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多