风格资源 如何避免采取在资源或资源字典定义有默认样式组合框中的儿童在WPF
<Setter Property="Background" Value="Red"/>
</Style>enter code here
</Window.Resources>
在窗口我加入了与孩子的标签一组框定义。
<Grid>
<GroupBox Header="Header">
<GroupBox.Resources>
<Style TargetType="{x:Type GroupBox}">
<Setter Property="Background" Value="white"/>
</Style>
</GroupBox.Resources>
<Label Content="dsfdsfdsf" Foreground="Black" />
</GroupBox>
</Grid>
我的预期结果是背景为白色的标签。但实际上它正在采取红色背景
(即在资源的风格定义)如果我设置标签的样式,以明确是NULL,它工作正常
Label Content="dsfdsfdsf" Foreground="Black" Style={x:Null}
而是控制到分组框动态添加,所以我要设置
Style={x:Null}
到被添加到组框体
,如果我在Label标签内容不设置正在添加到OverrideDefalutStyle真正的全儿童............... .......
Label Content="dsfdsfdsf" Foreground="Black" OverridesDefaultStyle="True"
有一个在WPF设计痛苦,我们不能像样式我们用CSS3做的元素。在这种情况下,'Style'可以恰好指向***类型,即使派生类型也可以继承该类型(例如:一种风格定位控件将不能应用于派生自Control的元素)。因此,对于您的场景,除非您事先知道所有类型的动态添加元素,否则您将不会使用纯粹的XAML(没有任何自定义附加属性或使用代码破解后)的优良解决方案。 –