C# 如何在UWP中制作从下到上的文本移动动画

C# 如何在UWP中制作从下到上的文本移动动画,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,如何在UWP中从下到上设置文本动画。有没有更好的方法在UWP中触发样式属性 如何在UWP中制作从下到上的文本移动动画 您可以使用DoubleAnimation接近,请参考以下代码 <Grid> <Grid.Resources> <Storyboard x:Name="MoveStoryboard"> <DoubleAnimation Storyboard.TargetName="Tbk"

如何在UWP中从下到上设置文本动画。有没有更好的方法在UWP中触发样式属性

如何在UWP中制作从下到上的文本移动动画

您可以使用
DoubleAnimation
接近,请参考以下代码

<Grid>
    <Grid.Resources>
        <Storyboard x:Name="MoveStoryboard">
            <DoubleAnimation Storyboard.TargetName="Tbk"
                             Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                             From="0" Windows10version1903:To="{x:Bind TbkY, Mode=TwoWay}" Duration="0:0:2">

            </DoubleAnimation>
        </Storyboard>
    </Grid.Resources>
    <TextBlock Loaded="Tbk_Loaded" 
               Name="Tbk" 
               Text="hello Nico"
               VerticalAlignment="Bottom" 
               Visibility="Visible" 
               HorizontalAlignment="Center" 
               FontSize="22" 
               TextLineBounds="Full"  >
        <TextBlock.RenderTransform>
            <CompositeTransform/>
        </TextBlock.RenderTransform>
    </TextBlock>
    <Button Content="Move" Click="Button_Click"/>
</Grid>
MVVM在数据更改时触发故事bord的方法

我们还可以在数据更改时触发故事板。我尝试了下面的代码,它对我有效。在开始之前使用下面的名称空间。nuget软件包将在链接上提供

xmlns:Core=“使用:Microsoft.Xaml.Interactions.Core”
xmlns:Media=“使用:Microsoft.Xaml.Interactions.Media”

我已更改ViewModel中的AnimateText属性。无论何时更改属性值。textblock都将根据(-Y值,即到“-200”)。

您的意思是使textblock控件从下到右上设置动画吗?@NicoZhu MSFT Yes以下工作是否正常?是的,在单击事件中工作正常,有没有办法在DataTrigger中绑定动画文本而不是按钮?单击按钮仅用于测试,如果您想将
情节提要
绑定到
DataTrigger
请在触发
DataTrigger
时使用调用
情节提要
private void Button_Click(object sender, RoutedEventArgs e)
{
    MoveStoryboard.Begin();        
}
public double TbkY { get; set; }

private void Tbk_Loaded(object sender, RoutedEventArgs e)
{
    TbkY = -Tbk.ActualOffset.Y;
}
 xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
 xmlns:Media ="using:Microsoft.Xaml.Interactions.Media"
<Page.Resources>
    <Storyboard x:Name="MoveStoryboard">
        <DoubleAnimation Storyboard.TargetName="txttext1"
                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                         From="0" To="-200" Duration="0:0:2">

        </DoubleAnimation>
    </Storyboard>
 </Page.Resources>
<Grid>
  <TextBlock Text="Sample text to Animate">
     <interactivity:Interaction.Behaviors>
         <core:DataTriggerBehavior Binding ={Binding AnimateText} Value = true>
             <Media:ControlStoryboardAction Storyboard="{StaticResource MoveStoryboard}"/>
         </core:DataTriggerBehavior>
       </interactivity:Interaction.Behaviors>
   <TextBlock.RenderTransform>
       <CompositeTransform/>
    </TextBlock.RenderTransform>
   </TextBlock>
</Grid>