继承样式或以编程方式查找样式

时间:2011-05-16 18:56:03

标签: wpf xaml styles

我有第三方控制,我认为从某个地方获得了一种风格。 我有一个该控件的子类,我在其中添加一个事件处理程序。但是现在当我用我的覆盖控件替换xaml中的旧控件时,样式就会丢失。我假设它在应用样式时区分超类和子类。我怎么告诉它子类,比如MyButton:ThirdPartyButton,应该和ThirdPartyButton一样。

或者是否有一种程序化的方式来查看样式的来源,如

ThirdPartyButton.GetDefaultStyleLocation();

1 个答案:

答案 0 :(得分:4)

在隐式应用的资源中定义样式:

<Style TargetType="{x:Type local:MySubclass}"
       BasedOn="{StaticResource {x:Type thirdParty:Control}}"/>

这是必要的,因为遗憾的是没有继承样式。