将样式放在网格样式内的控件上

Ing*_*als 3 wpf grid setter resources styles

我想'定义一个网格中特定类型的每个控件都获得一个Style.只需将具有TargetType的样式放在网格资源中即可.但是,如果我不想将这个网格作为一种风格重用呢?

我可以创建一个网格样式并设置一个资源设置器,但只能在那里放一个样式.

<Style x:Key="GridStyle" TargetType="Grid">
    <Setter Property="Resources">
        <Setter.Value>
            <Style TargetType="TextBlock" BasedOn="{StaticResource MainText}" />
            <Style TargetType="{x:Type RowDefinition}">
                <Setter Property="Height" Value="Auto"/>
            </Style>
            <Style TargetType="Button" BasedOn="{StaticResource MainButton}" />
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

无法工作,因为setter只能放入一种风格.

这可能是非常简单的事情,但我没有得到它,我不想在每个网格中重复这些样式.

Qua*_*ter 10

如果将样式放在外部样式的资源中,它们将位于网格内的范围内:

<Style x:Key="GridStyle" TargetType="Grid">
    <Style.Resources>
        <Style TargetType="TextBlock" BasedOn="{StaticResource MainText}" />
        <Style TargetType="{x:Type RowDefinition}">
            <Setter Property="Height" Value="Auto"/>
        </Style>
        <Style TargetType="Button" BasedOn="{StaticResource MainButton}" />
    </Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)