Wpf ListView中的滑动问题
我正在Windows应用商店应用程序中使用ListView。 每当我开始在列表视图上滑动(使用模拟器点击模式)时,所有项目都会一起移动,如图所示。Wpf ListView中的滑动问题,wpf,windows-runtime,windows-store-apps,winrt-xaml,windows-store,Wpf,Windows Runtime,Windows Store Apps,Winrt Xaml,Windows Store,我正在Windows应用商店应用程序中使用ListView。 每当我开始在列表视图上滑动(使用模拟器点击模式)时,所有项目都会一起移动,如图所示。 如何禁用此操作事件?在您的列表视图中添加: ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollMode="Disabled" 如果这还不够(这有时不适用于MouseWheel事件,因为这些事件仍然倾向于在ListView中捕获,而且如果Scr
如何禁用此操作事件?在您的
列表视图中添加:
ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollMode="Disabled"
如果这还不够(这有时不适用于MouseWheel事件,因为这些事件仍然倾向于在ListView中捕获,而且如果ScrollViewer中的列表特别大,也会发生,我发现),那么您需要创建一个自定义控件来专门忽略该事件,例如,对于已更改的指针
public class CustomListView : ListView
{
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
var sv = this.GetTemplateChild("ScrollViewer") as UIElement;
if (sv != null)
sv.AddHandler(UIElement.PointerWheelChangedEvent, new PointerEventHandler(OnPointerWheelChanged), true);
}
private void OnPointerWheelChanged(object sender, PointerRoutedEventArgs e)
{
e.Handled = false;
}
}
这将禁用列表视图中的鼠标滚轮滚动。您必须将对列表视图的XAML引用从
更改为
,其中名称空间
是您创建列表视图的名称空间