如何根据网格样式设置网格中任何子元素的前景色?

Rac*_*hel 11 wpf xaml styles

如何在网格样式中设置Foreground所有子元素的颜色Grid?我知道我以前做过这个,但我不记得在哪里或如何.

<Style x:Key="MyGridStyle" TargetType="{x:Type Grid}">
    // I want to set the font color here
</Style>

<Grid Style="{StaticResource MyGridStyle}">
    ...
</Grid>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用

<Grid.Resources>
    <Style TargetType="{x:Type TextBlock}">
        <Setter Property="Foreground" Value="Red" />
    </Style>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="Foreground" Value="Red" />
    </Style>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)

但是我想把这个值设置在Style,而不是在Grid

Rac*_*hel 16

想出来,我只需要设置默认样式 <Style.Resources>

<Style x:Key="MyGridStyle" TargetType="{x:Type Grid}">
    <Style.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="Foreground" Value="Red" />
        </Style>
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Foreground" Value="Red" />
        </Style>
    </Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)


H.B*_*.B. 16

怎么样:

<Style x:Key="MyGridStyle" TargetType="{x:Type Grid}">
    <Setter Property="TextElement.Foreground" Value="Red"/>
</Style>
Run Code Online (Sandbox Code Playgroud)