繁体   English   中英

具有TranslateTransform的WPF故事板

[英]WPF Storyboard with TranslateTransform

我有一个情节提要,例如

<Storyboard x:Key="NewsFlow">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" 
                                       Storyboard.TargetName="TextBlock" 
                                       RepeatBehavior="Forever" AutoReverse="True">
            <EasingDoubleKeyFrame KeyTime="0:0:0" Value="-80"/>
            <EasingDoubleKeyFrame KeyTime="0:0:2" Value="80"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

和网格

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="1*" />
        <RowDefinition Height="100" />
        <RowDefinition Height="1*" />
    </Grid.RowDefinitions>
    <Border Grid.Row="1" Background="BlanchedAlmond"></Border>
    <TextBlock Grid.Row="1" Text="News" FontSize="40" HorizontalAlignment="Center" ></TextBlock>

</Grid>

Grid.Row =“ 1”是新闻查看区域(黄线)

但是Storyboard忽略了Grid.RowDefinitions之类的图片 在此处输入图片说明

我要这样

在此处输入图片说明

如果创建情节提要,则应如下所示:

    <Storyboard x:Key="NewsFlow">
        <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" 
                                       Storyboard.TargetName="TextBlock" 
                                       RepeatBehavior="Forever" AutoReverse="True">
            <EasingThicknessKeyFrame KeyTime="0:0:0" Value="0,0,0,150"/>
            <EasingThicknessKeyFrame KeyTime="0:0:1" Value="0,0,0,0"/>
            <EasingThicknessKeyFrame KeyTime="0:0:2" Value="0, 150,0,0"/>
        </ThicknessAnimationUsingKeyFrames>
    </Storyboard>

在此处输入图片说明

但是Margin落后于TranslateTransform。 和Textblock的另一端在播放动画时坏了

谢谢,问候

<Window.Resources>
    <Storyboard x:Key="NewsFlow">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Height" 
                                       Storyboard.TargetName="News" 
                                       RepeatBehavior="Forever" AutoReverse="True">
            <EasingDoubleKeyFrame KeyTime="0:0:00" Value="-80"/>
            <EasingDoubleKeyFrame KeyTime="0:0:02" Value="80"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="100" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Border Grid.Row="1" Background="BlanchedAlmond"/>
    <TextBlock Grid.Row="1" x:Name="News" Text="News" FontSize="40" HorizontalAlignment="Center">
        <TextBlock.Triggers>
            <EventTrigger RoutedEvent="Loaded">
                <BeginStoryboard Storyboard="{StaticResource NewsFlow}"/>
            </EventTrigger>                              
        </TextBlock.Triggers>
    </TextBlock>
</Grid>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM