如何在xaml中更改stackpanel的前景色

时间:2014-03-16 22:38:35

标签: xaml

我在App.xaml中有这个

 <Style x:Key="ColorBlack" TargetType="StackPanel">
      <Setter Property="TextElement.Foreground" Value="Black"></Setter>
 </Style>

这是在xaml页面上

 <StackPanel Style="{StaticResource ColorBlack}"></StackPanel>

在设计器中,颜色变为黑色,但是当我在设备上运行应用程序时,它会崩溃并说它不知道名称ColorBlack。

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

<StackPanel>
    <StackPanel.Resources>
        <Style TargetType="{x:Type FrameworkElement}">
            <Setter Property="TextBlock.Foreground" Value="Blue" />
        </Style>
        <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
        <Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
        <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
        <Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />

    </StackPanel.Resources>
    <TextBlock Text="TextBlock"/>
    <Label Content="Label"/>
    <Button Content="Button"/>
    <TextBox Text="TextBox"/>
</StackPanel>