当使用触摸时,ComboBox弹出框内的ScrollViewer会从头开始溢出。

问题描述 投票:0回答:1

我有一个 ScrollViewer 嵌套在 ComboBox 的 Popup 里面。我相信这是一个标准的设计。即使没有任何 DependencyProperties 设置,当使用触摸手势滚动时,这个ScrollViewer有一个奇怪的行为。

当我使用触摸&到达上述弹出窗口内的ComboBoxItems的终点时,ScrollBar会移动回弹出窗口的起点并继续滚动。就像这样。enter image description here

我相信这是一个标准的行为。正如你所看到的,英语是列表中的第一种语言,波兰语和保加利亚语是列表中的最后一种语言。你能告诉我这个行为的名称是什么吗?它可以被关闭吗?

我想把ComboBox的样式贴出来,但我认为这并不重要,因为它的结构与默认样式基本一致。C:Program Files (x86)Windows Kits/10DesignTime/CommonConfiguration/Neutral/UAP/10.0.18362.0/Generic/generic.html。

先谢谢你

c# xaml uwp touch scrollviewer
1个回答
1
投票

当我使用触摸&我到达上述弹出框内的ComboBoxItems的末端时,ScrollBar移动回弹出框的开始并继续滚动。

这是设计内的 ComboBox 触摸模型的控制。ComboBox 使用 CarouselPanel 默认为ItemsPanel。这将使列表循环滚动。如果您想禁用此功能,请将其替换为 CarouselPanelStackPanel.

<ComboBox.ItemsPanel>
   <ItemsPanelTemplate>
      <StackPanel Orientation="Vertical" />
   </ItemsPanelTemplate>
</ComboBox.ItemsPanel> 
© www.soinside.com 2019 - 2024. All rights reserved.