風格資源 如何避免採取在資源或資源字典定義有默認樣式組合框中的兒童在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(沒有任何自定義附加屬性或使用代碼破解後)的優良解決方案。 –