C# 禁用交叉幻灯片选择列表视图
我想禁用ListView中项目的交叉幻灯片选择行为。我知道属性C# 禁用交叉幻灯片选择列表视图,c#,xaml,listview,windows-runtime,winrt-xaml,C#,Xaml,Listview,Windows Runtime,Winrt Xaml,我想禁用ListView中项目的交叉幻灯片选择行为。我知道属性IsSwipeEnabled=“False”,但是我仍然希望允许用户将项目拖放到另一个网格中。我还尝试用以下代码捕获操纵开始/完成的事件 MyListView.ManipulationMode = ManipulationModes.TranslateRailsX; MyListView.ManipulationStarted += OnManipulationStarted; MyListView.ManipulationCompl
IsSwipeEnabled=“False”
,但是我仍然希望允许用户将项目拖放到另一个网格中。我还尝试用以下代码捕获操纵开始/完成的事件
MyListView.ManipulationMode = ManipulationModes.TranslateRailsX;
MyListView.ManipulationStarted += OnManipulationStarted;
MyListView.ManipulationCompleted += OnManipulationCompleted;
两个处理程序中都捕获了相应的事件,但是我不知道应该执行哪些操作来禁用选择。我尝试了与禁用右键单击类似的方法,将
RoutedEvents.Handled
设置为true
,但这并不能阻止选择的发生。是否有一种干净的方法来处理此事件并禁用选择 我可以想出两件事来试试
SelectionChanged
事件并取消选择所选内容,同时允许拖放正常工作列表视图
顶部的一个面板,其中一些元素附着在手指上),然后在拖放目标元素上处理拖放所以您已经设置了
IsSwipeEnabled=“False”
,但仍然进行选择?或者您的意思是,如果要启用拖放,则无法设置该属性?该属性当前设置为True
,以支持拖放。不幸的是,这也允许启用交叉幻灯片的选择操作。将属性设置为False
不允许拖放,但会禁用交叉幻灯片选择。感谢您的建议。我希望有一个更干净的方法来禁用此功能,但这似乎是唯一的方法。我不喜欢修改SelectionChanged
事件并删除项目的一点是,我必须确定在此之前的事件是来自拖放还是交叉幻灯片或项目单击。此外,当交叉幻灯片项目仍处于按下状态时,用户仍将看到应用的选择样式。可能可以通过重新排序ListViewItems
禁用选择样式。。。但不确定是否要禁用交互。您是否绝对确定内置拖放需要IsSwipeEnabled
?我将进一步了解ListViewItems
的样式属性,但是现在我看不到在选择阈值内按下选择时的特定属性。可能有一种方法可以禁用IsSwipeEnabled
并仍然允许拖放(可能是处理操纵事件),但我觉得我必须为几乎按照我需要的方式实现的东西添加更多的代码。再次感谢你的帮助!你不需要属性。您只需要编辑视觉状态。