C# Windows应用商店应用程序,文本过多时水平滚动

C# Windows应用商店应用程序,文本过多时水平滚动,c#,xaml,windows-store-apps,C#,Xaml,Windows Store Apps,我正在为Windows应用商店制作一个应用程序(xaml/c#),在这个应用程序中我创建了一个文件属性列表。一个属性是文件路径,它总是太长。我的解决方案是在选中此文本块时使此边滚动。 选中时,文本将开始滚动,以使所有信息可读。(股票代码栏) 我找不到一个属性来实现这一点,而且我发现很难为此创建自定义函数。你能帮我吗 我会重新考虑这个想法。我有过很多次这样的想法,但总是被设计师拒绝。我认为动画文本可能比剪辑文本更烦人。更好的方法可能是将其包装到位,或者如果您在项目高度有限的列表中(仅在点击后显示全

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


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

我会重新考虑这个想法。我有过很多次这样的想法,但总是被设计师拒绝。我认为动画文本可能比剪辑文本更烦人。更好的方法可能是将其包装到位,或者如果您在项目高度有限的列表中(仅在点击后显示全文),则可以使用一些弹出窗口或点击项目的详细信息视图

话虽如此,要制作动画,您需要将
TextBlock
放在
Canvas
内,将
Canvas
剪辑设置为定义剪辑区域的
矩形几何体
(并在大小更新时更新),然后设置
TextBlock
Canvas.X
属性的动画。问题是
Canvas.X
不是一个“独立”属性,因此您需要在动画上设置
DoubleAnimation.EnableDependentAnimation=“true”
,并且仍然可以获得相当不稳定的动画

一个更好的选择似乎是
文本块的
渲染变换
设置动画(例如,将其设置为
TranslateTransform
,并在动画中针对变换的
X
属性),但上次我检查时,这可能会以一种已经剪裁好的形式设置
TextBlock
的动画,所以你仍然看不到屏幕上不适合的部分。不过你可以试试

TextBlock
放在
ScrollViewer
中可能会更好,但它会遇到与
Canvas
解决方案类似的问题,因为
ScrollViewer
甚至没有可设置动画的偏移属性。在Windows 8.1中,当您调用
ScrollViewer.ChangeView()
时,会生成内置动画,但这可能会太快。在WinRT XAML Toolkit中的
ScrollViewer
扩展方法中,可以借助代理依赖属性或其他每帧相关动画来实现