tags:

views:

24

answers:

1

i am just beginning WPF and wonder why this works

<Window ...>
    <Window.Resources>
        <Style x:Name="buttonStyle">
            <Style.Setters>
                <Setter Property="Button.FontWeight" Value="Bold" />
                <Setter Property="Button.Foreground" Value="Aqua" />
            </Style.Setters>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <Button ... Style="{StaticResource buttonStyle}" />
        </StackPanel>
    </Grid>
</Window>

but this fails,

<Window ...>
    <Window.Resources>
        <Style x:Name="buttonStyle">
            <Style.Setters>
                <Setter Property="Button.FontWeight" Value="Bold" />
                <Setter Property="Button.Foreground" Value="Aqua" />
            </Style.Setters>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel ...>
            <StackPanel.Resources>
                <Style x:Name="buttonStyle2">
                    <Setter Property="Button.Foreground" Value="Red" />
                </Style>
            </StackPanel.Resources>
            <Button ... Style="{StaticResource buttonStyle}" />
            <Button ... Style="{StaticResource buttonStyle2}" />
        </StackPanel>
    </Grid>
</Window>

the error is

  • The resource "buttonStyle2" could not be resolved
  • The resource "buttonStyle" could not be resolved

buttonStyle resolves ok in the 1st code (without the 2nd button)

A: 

arr... my bad, i should be using x:Key not x:Name

jiewmeng