如何在XAML中动画文本块以完整地显示它

本文关键字:显示 文本 XAML 动画 | 更新日期: 2023-09-27 18:11:10

我有一个很长的列表部分,显示一个image,两个textblocks(名称和描述)和其他image来共享项目。问题是,描述和通常比网格块的大小更大,所以我只能显示开始。我想要的是使用动画将textblocks的文本自动滚动到左侧以完全显示它。这可能吗?我的xaml项目代码如下:

<phone:LongListSelector x:Name="GaleryLongListSelector" SelectionChanged="GaleryLongListSelector_SelectionChanged">
                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <StackPanel Orientation="Horizontal" Margin="12,2,0,4" Height="100"  toolkit:TiltEffect.IsTiltEnabled="True" Grid.Column="0">
                                <Image Width="80" RenderTransformOrigin="0.5,0.5" Height="80" Source="{Binding ThumbImage}" Margin="5,0">
                                    <Image.RenderTransform>
                                        <RotateTransform Angle="90"/>
                                    </Image.RenderTransform>
                                </Image>
                                <StackPanel Orientation="Vertical">
                                <TextBlock x:Name="txtProjectName" Text="{Binding Name}" Margin="5,10,0,0"   Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" />
                                <TextBlock x:Name="txtProjectDescript" Text="Aqui iria una descripcion muy larga del faldksjfjkldjfkldajsfkljaslfkjasldfjlasdjfkl"    Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" />
                                </StackPanel>
                            </StackPanel>
                            <Image Source="/Images/share.png" Width="80" Tap="Image_Tap" Grid.Column="1" HorizontalAlignment="Right"/>
                            <toolkit:ContextMenuService.ContextMenu>
                                <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu" >
                                    <toolkit:MenuItem  Header="{Binding Source={StaticResource LocalizedStrings}, Path=LocalizedResources.MainPagePanoramaItemGalleryContextMenuDelete}" Click="Delete_Click"/>
                                    <toolkit:MenuItem  Header="{Binding Source={StaticResource LocalizedStrings}, Path=LocalizedResources.MainPagePanoramaItemGalleryContextMenuRename}" Click="Rename_Click"/>
                                </toolkit:ContextMenu>
                            </toolkit:ContextMenuService.ContextMenu>
                        </Grid>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>
            </phone:LongListSelector>

如何在XAML中动画文本块以完整地显示它

我的意思是,你试过使用这个吗:

            <ScrollViewer>
                <TextBlock Text="Mon texte de test" />
            </ScrollViewer>

如果你的文本太长,它应该是可滚动的。然后你只需要创建动画,自动滚动

EDIT

在ScrollViewer中包装description TextBlock,并将HorizontalScrollBarVisibility设置为auto。

<ScrollViewer HorizontalScrollBarVisibility="Auto">
    <TextBlock x:Name="txtProjectDescipt" .../>
</ScrollViewer>