【发布时间】:2014-06-30 15:35:17
【问题描述】:
我有一个ItemTemplate 和一个ListBoxItem,其中包含一个Slider。 UI 应该在触摸屏上操作。但是,滑块不起作用 - 无法拖动拇指。
问题可以这样证明:
<StackPanel>
<Slider Height="40" Width="300" Margin="20,10,20,10"/>
<ListBox>
<Slider Height="40" Width="300" Margin="20,10,20,10"/>
</ListBox>
</StackPanel>
ListBox 内的滑块不能通过触摸拖动(尽管它适用于鼠标或键盘输入)。 ListBox 之外的另一个滑块工作正常(鼠标、键盘、触摸)。
需要做什么才能“启用”ListBox 内的滑块以进行触摸输入?
【问题讨论】:
-
您需要编辑 Lisbox 模板。此处的基本模板:msdn.microsoft.com/ru-ru/library/cc278062(v=vs.95).aspx
-
在此模板中究竟需要做什么才能启用滑块?
-
@JeffRSon 可能是
ListBox的默认选择行为干扰了触摸事件。如果您不需要选择,请使用ItemsControl而不是 ListBox。 -
@JeffRSon 让这个完全清楚,键盘和鼠标输入工作吗?只是触摸事件不起作用吗?
-
@JeffRSon 我无法在这里测试触摸输入,但您可能想使用Snoop 查看事件序列。它会告诉您引发了哪些事件,以及哪些 UI 元素正在处理它们。