故事板标签样式在datatrigger为false时如何应用背景?

时间:2019-03-07 10:03:20

标签: c# wpf mvvm

我有一个简单的网格标签集,我添加了一个标签样式情节提要,用于在NodeFlash设置为true时闪烁,这很好用,但是当NodeFlash设置为false时,标签保持白色/白色而不是在NodeStatus中设置的背景色(例如,绿色,红色等)。我需要在哪里强制退出操作中的背景色设置?否则在哪里?

这是view.xaml

        <Grid> 
    <ItemsControl ItemsSource = "{Binding Path = CIs}">

            <ItemsControl.ItemTemplate>
                <DataTemplate>
                <Grid>
                    <Label 

                        Content = "{Binding Path = NodeName, Mode = OneWay}" 
                        Background = "{Binding Path = NodeStatus, Mode = OneWay}"
                        Tag="{Binding Path = Nodeid, Mode = OneWay}"
                        Foreground="White"
                        FontFamily="Arial Black"
                        HorizontalContentAlignment="Center"                            
                        BorderBrush="Black" 
                        BorderThickness="1,1,1,1">
                        <Label.Style>
                            <Style TargetType="{x:Type Label}">
                                <Style.Resources>
                                    <Storyboard x:Key="flashAnimation" >
                                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" AutoReverse="True" Duration="0:0:0.5" RepeatBehavior="Forever" />
                                    </Storyboard>
                                </Style.Resources>

                                <Setter Property="Visibility" Value="Hidden" />
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding NodeFlash}" Value="True">
                                        <Setter Property="Visibility" Value="Visible" />
                                        <DataTrigger.EnterActions>
                                            <BeginStoryboard Name="flash" Storyboard="{StaticResource flashAnimation}" />
                                        </DataTrigger.EnterActions>
                                        <DataTrigger.ExitActions>
                                            <StopStoryboard BeginStoryboardName="flash"/>
                                        </DataTrigger.ExitActions>
                                    </DataTrigger>

                                </Style.Triggers>
                            </Style>
                        </Label.Style>
                    </Label>

                </Grid>
                </DataTemplate>
            </ItemsControl.ItemTemplate>

    </ItemsControl>

</Grid>

再次感谢

1 个答案:

答案 0 :(得分:0)

我发现吗?我需要更改此:

<Setter Property="Visibility" Value="Hidden" />

<Setter Property="Visibility" Value="Visible" />

认为它隐藏了所有非样式标签吗?

谢谢