代码之家  ›  专栏  ›  技术社区  ›  j0zeft

基于事件XAML生成的应用程序更改标签的背景色

  •  0
  • j0zeft  · 技术社区  · 11 年前

    我正在构建一个应用程序来检测事件,在该事件发生后,指示事件被触发的标签应该会改变颜色。

    我正在使用XAML来构建我的应用程序的接口,给标签初始黄色很容易。我希望双击时它变成绿色。

        <!-- setting style for the identification labels -->
    <Window.Resources>
        <Style x:Key="StatusLabelStyle" TargetType="Label">
            <Setter Property="Background" Value="Yellow" />
            <Setter Property="BorderBrush" Value="Yellow" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="VerticalContentAlignment" Value="Center" />
        </Style>
    </Window.Resources>
    
    
    
                    <Label Name="L1" Margin="10,50,10,0" Content="TEST A" Width="100" Height="60"
                           Style="{StaticResource StatusLabelStyle}" MouseDoubleClick="L1_MouseDoubleClick" />
    

    我试图通过代码隐藏文件来完成这项工作,但一再失败。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Anatolii Gabuza    11 年前

    你应该使用 Storyboard Animations 为此:

    <Label.Triggers>
        <EventTrigger RoutedEvent="Label.MouseDoubleClick">
            <BeginStoryboard>
                <Storyboard>
                    <ColorAnimation  To="Green" Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)" FillBehavior="Stop" Duration="0.0.1"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger> 
    </Label.Triggers>