[英]WPF Override Style Value
我正在为 WPF 使用 MaterialDesignInXaml,它提供了第 3 方控件和 styles。 我需要通过更改一个属性来编辑其中一个 styles。
我正在使用一个 Expander 控件,它有一个创建一堆子控件的模板。 我发现子“边框”控件(4 层深)具有我需要设置为零的属性(填充)。
从 Snoop 看到这个 output 显示我需要更改的属性:链接到图像
我的问题是我该怎么做? 我尝试如下扩展控件使用的样式,但它没有改变任何东西,所以我认为我做错了什么?
<Style TargetType="{x:Type Expander}"
x:Key="MaterialDesignExpanderHeadless"
BasedOn="{StaticResource MaterialDesignExpander}">
<Style.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="Padding" Value="0"></Setter>
</Style>
</Style.Resources>
</Style>
我可以使用这样的风格。 我知道这是肯定的:
<Expander Header="Header Content" Style="{StaticResource MaterialDesignExpanderHeadless}">
Some Content
</Expander>
你是对的,这个方法应该有效。 其他东西正在设置边框的填充。
Snoop 告诉您填充是由父模板定义的,它可能是 HeaderSite (ToggleButton)。 您可以尝试扩展 ToggleButton 样式(BasedOn)或在本地重新定义它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.