ListBox 类似于 ItemsControl 的触摸滚动
ListBox Like Touch Scrolling for ItemsControl
WPF ListBox 内置了一些非常好的触摸滚动功能,我想在简单的 ItemsControl 上使用它。
我强烈希望使用现有的功能来实现这一点,因为我之前的努力(使用 TouchDown/Move/Up 事件)没有 ListBox 的行为那么流畅,并且感觉足够不同在使用这两个控件的应用程序中可识别。
我尝试在 reference source 中找到负责 ListBox 触摸行为的代码,但 ListBox class 甚至不包含单词 "Touch"。
有没有办法在 ItemsControl 上启用触摸滚动,或者,如果没有,负责隐藏 ListBox 的神奇代码在哪里,以便我可以移植它?
将 ItemsControl
放入 ScrollViewer
并确保触摸事件从 ItemsControl
中的任何控件冒泡到 ScrollViewer
<ScrollViewer>
<ItemsControl>
</ItemsControl>
</ScrollViewer>
所使用的 ScrollViewer 的 PanningMode 属性(在 ControlTemplate 内部或 ItemsControl 外部)需要设置为 "None" 以外的值。
中找到负责触摸滚动的代码
如他们所说,您需要将 ItemsControl 放入 ScrollViewer 中,但如果您希望这样做,则必须设置 itemsControl 的高度。
看看这个 post : Making a StackPanel scrollable in Windows Phone 8
WPF ListBox 内置了一些非常好的触摸滚动功能,我想在简单的 ItemsControl 上使用它。
我强烈希望使用现有的功能来实现这一点,因为我之前的努力(使用 TouchDown/Move/Up 事件)没有 ListBox 的行为那么流畅,并且感觉足够不同在使用这两个控件的应用程序中可识别。
我尝试在 reference source 中找到负责 ListBox 触摸行为的代码,但 ListBox class 甚至不包含单词 "Touch"。
有没有办法在 ItemsControl 上启用触摸滚动,或者,如果没有,负责隐藏 ListBox 的神奇代码在哪里,以便我可以移植它?
将 ItemsControl
放入 ScrollViewer
并确保触摸事件从 ItemsControl
ScrollViewer
<ScrollViewer>
<ItemsControl>
</ItemsControl>
</ScrollViewer>
所使用的 ScrollViewer 的 PanningMode 属性(在 ControlTemplate 内部或 ItemsControl 外部)需要设置为 "None" 以外的值。
中找到负责触摸滚动的代码如他们所说,您需要将 ItemsControl 放入 ScrollViewer 中,但如果您希望这样做,则必须设置 itemsControl 的高度。 看看这个 post : Making a StackPanel scrollable in Windows Phone 8