开发者

Putting Styles on controls inside a Grid style

开发者 https://www.devze.com 2023-01-05 23:01 出处:网络
I want\' to define that every control of specific type inisde a grid gets a Style. This is easy just put the styles with TargetType inside the grid resources. But what then if I wan\'t to reuse this g

I want' to define that every control of specific type inisde a grid gets a Style. This is easy just put the styles with TargetType inside the grid resources. But what then if I wan't to reuse this grid as a style?

I can create a grid style and have a setter to resources but can only put one style there.

<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>

Won't work because the setter can only put one style in.

This is probably something very simple but I'm not getting it and I don't wan't to repeat these styles in each and every grid.


If you put the Styles inside the Resources of the outer style, they will be in scope inside the grids:

<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>
0

精彩评论

暂无评论...
验证码 换一张
取 消