从默认样式继承样式

问题描述:

在我的项目中有文本框的自定义样式。它被定义为:从默认样式继承样式

<Style TargetType="TextBox"/> 

因此,它默认应用于所有文本框子控件。

我需要创建另一种基于默认样式的样式。但是,我如何在BasedOn属性中指定我的新样式应该使用默认样式?

使用控件的类型,你想延长

BasedOn="{StaticResource {x:Type TextBox}}" 

完整的示例:

<Style x:Key="NamedStyle" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}"> 
    <Setter property="Opacity" value="0.5" /> 
</Style> 
+0

无需设置X:键,如果你想在你的案件,不适用其他更改(不透明度)自动(没有样式名称)。 – honzakuzel1989 2016-04-19 11:19:58

+1

@ honzakuzel1989确实如此。它取决于用例是否要设置密钥。 – Aphelion 2016-04-20 06:55:21

+0

如何在uwp中,其中x:Type不存在? – bunkerdive 2016-11-04 15:10:34