代码之家  ›  专栏  ›  技术社区  ›  Jiew Meng

关于WPF资源/样式和范围的问题

wpf
  •  0
  • Jiew Meng  · 技术社区  · 15 年前

    我刚开始做水渍险,想知道为什么这样行

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

    但是失败了,

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

    错误是

    • 无法解析资源“ButtonStyle2”
    • 无法解析资源“buttonstyle”

    buttonStyle 在第一个代码中解决OK(不带第二个按钮)

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jiew Meng    15 年前

    排列…我的坏,我应该用 x:Key x:Name