在WPF中继承标准控件的最快方法?

时间:2011-01-23 10:41:11

标签: wpf wpf-controls

我只想用一些额外的属性包装一个标准控件(看起来保持不变,我不想在第一阶段进行主题化)。

我可以继承此标准控件而不是UserControl或Control吗?事实上,我认为必须使用自定义控件项目模板而不是UserControl ontrol项目模板。为什么?

更新:我尝试使用自定义控件项目并从标准滑块继承,但我没有看到任何东西!现在我该怎么做才能拥有与标准滑块相同的视觉滑块?

我知道用户控件和自定义控件之间的区别,但实际上当你只想要一个标准控件时你会怎么做?例如,如果我将滑块封装在用户控件而不是自定义控件中,它将如何自动调整大小?

1 个答案:

答案 0 :(得分:1)

自定义控件是单个控件,可以从另一个控件派生,这将支持样式。 UserControl是许多不同控件中的复合控件,并且整体上不支持样式(但是这些部件也是如此)。

如果要向现有控件添加任何类型的功能,请从中派生。如果你想将几个控件打包在一起以便更容易处理它们(你仍然可以添加DP),请使用UserControl。

单独的自定义控件不会执行与调整大小等相关的任何操作,这取决于您在使用时从外部提供的设置(例如HorizontalAlignmentVerticalAlignment和其他设置)它在一个容器中。自定义控件应该从基类继承默认模板,除非您覆盖它。