Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 控制能见度及;从单独的绑定属性触发元素的动画_Wpf_Datagridtemplatecolumn - Fatal编程技术网

Wpf 控制能见度及;从单独的绑定属性触发元素的动画

Wpf 控制能见度及;从单独的绑定属性触发元素的动画,wpf,datagridtemplatecolumn,Wpf,Datagridtemplatecolumn,我试图构建一个简单的网格来显示价格,它需要显示一个箭头来指示价值的增加或减少 在这里,“可见性”属性可以很好地显示/隐藏向上或向下箭头(视情况而定)。但是,如果Ask在后续更改中向一个方向移动,则不会触发动画。我是否应该尝试创建另一个属性来触发动画?我可以用代码来做,但如果可能的话,我想用XAML来做 模板列定义如下所示 <DataGridTemplateColumn> <DataGridTemplateColumn.CellTempla

我试图构建一个简单的网格来显示价格,它需要显示一个箭头来指示价值的增加或减少

在这里,“可见性”属性可以很好地显示/隐藏向上或向下箭头(视情况而定)。但是,如果Ask在后续更改中向一个方向移动,则不会触发动画。我是否应该尝试创建另一个属性来触发动画?我可以用代码来做,但如果可能的话,我想用XAML来做

模板列定义如下所示

<DataGridTemplateColumn>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                            <TextBlock Width="40" Text ="{Binding Path=Ask}"></TextBlock>
                                <TextBlock x:Name="Up">
                                    <TextBlock.Style>
                                        <Style TargetType="TextBlock">
                                            <Setter Property="Visibility" Value="Collapsed"/>
                                            <Style.Triggers>
                                                <DataTrigger Binding="{Binding AskUp}" Value="True">
                                                    <Setter Property="Visibility" Value="Visible"/>
                                                    <DataTrigger.EnterActions>
                                                        <BeginStoryboard Storyboard="{StaticResource blinkAnimation}" Name="upAnimation"/>
                                                    </DataTrigger.EnterActions>
                                                </DataTrigger>
                                            </Style.Triggers>
                                        </Style>
                                    </TextBlock.Style>
                                <Path x:Name="UpArrow" Data="M 0 8 L 4 0 L 8 8 Z" Fill="Green"/>
                                </TextBlock>
                                <TextBlock x:Name="Down">
                                    <TextBlock.Style>
                                        <Style TargetType="TextBlock">
                                            <Setter Property="Visibility" Value="Collapsed"/>
                                            <Style.Triggers>
                                                <DataTrigger Binding="{Binding AskUp}" Value="False">
                                                    <Setter Property="Visibility" Value="Visible"/>
                                                    <DataTrigger.EnterActions>
                                                        <BeginStoryboard Storyboard="{StaticResource blinkAnimation}" Name="downAnimation"/>
                                                    </DataTrigger.EnterActions>
                                                </DataTrigger>
                                            </Style.Triggers>
                                        </Style>
                                    </TextBlock.Style>

                                <Path x:Name="DownArrow" Data="M 0 0 L 4 8 L 8 0 Z" Fill="Red" />
                            </TextBlock>
                            </StackPanel>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> 

我的动画片段是

    <Window.Resources>
   <Storyboard  x:Key="blinkAnimation">
        <DoubleAnimation Storyboard.TargetProperty ="(UIElement.Opacity)" From="1" To="0" Duration="0:0:0.125" AutoReverse="True" FillBehavior="Stop" RepeatBehavior="0:0:1">
        </DoubleAnimation>
    </Storyboard>

</Window.Resources>

如果你创建了一个问题,你会很快得到答案