Windows商店应用程序,当文本太多时水平滚动

本文关键字:太多 水平 滚动 文本 应用程序 Windows | 更新日期: 2023-09-27 18:15:47

我正在为Windows商店(xaml/c#)制作一个应用程序,在这个应用程序中,我创建了一个文件的属性列表。一个属性是文件路径,这个总是太长。我的解决方案是使这个侧面滚动时,这个文本块被选中。文本将开始滚动时,选择使所有的信息可读。(嘀嘀)

我找不到一个属性来实现这一点,我发现很难为此做一个自定义函数。你能帮我吗?

Windows商店应用程序,当文本太多时水平滚动

我会重新考虑这个想法。我有过很多次这样的想法,但总是被设计师们拒绝。我认为动画文本可能比剪切文本更令人讨厌。一个更好的方法可能是在适当的位置换行,或者如果你在一个项目高度有限的列表中——只在点击后显示全文——要么用一些弹出窗口,要么在点击项目的详细信息视图中显示。

已经说过-动画它,你将TextBlockCanvas ,设置CanvasClipRectangleGeometry,定义你的剪切区域(并更新它的大小更新),然后动画TextBlockCanvas.X属性。问题是Canvas.X不是一个"独立"的属性,所以你需要在动画上设置DoubleAnimation.EnableDependentAnimation="true",仍然可以得到一个相当起伏的动画。

一个更好的选择似乎是动画TextBlockRenderTransform (例如将其设置为TranslateTransform并在动画中以转换的X属性为目标),但上次我检查了-这可以在已经剪切的形式中动画TextBlock,所以你仍然不会看到它不适合屏幕的部分。你可以试试。

TextBlock放在ScrollViewer 中可能会更好,但它会遇到与Canvas解决方案类似的问题,因为ScrollViewer甚至没有可动画的偏移属性。在Windows 8.1中,当你调用ScrollViewer.ChangeView()时,你会得到内置的动画,但这可能会太快。在代理依赖属性或其他逐帧依赖动画的帮助下,这是可能的,就像在WinRT XAML工具包中的ScrollToHorizontalOffsetWithAnimation() ScrollViewer扩展方法。