xaml - 使用 Toolkit Gestures 拖动在横向方向上变得疯狂

标签 xaml layout windows-phone-8 drag-and-drop itemscontrol

在 WP8 应用程序中,我有一个 ListBox 绑定(bind)到一个带有网格的 ItemsSource,因为它是 ItemsPanelTemplate。根据用户选择,网格的布局可能每次都不同(不同的行数/列数),我使用辅助类将 ItemsPanelTemplate 网格的行和列定义绑定(bind)到从数据库读取的值。

用户可以将项目添加到应用程序并将每个项目分配给列表框中的网格单元格。每个项目都可以“坐在”多个网格中(多对多关系),这导致我使用另一个绑定(bind)助手类来设置 Grid.RowGrid 的绑定(bind).Column ListBox.ItemContainerStyle 中的附加属性,绑定(bind)到 ItemsSource 类的属性。

另一个要求是当 Rows.Count >= Columns.Count 时应用程序处于纵向,当列数较多时应用程序处于横向。

我还使用 Toolkit Gestures 进行拖放操作。

所讨论的问题是横向方向的拖拽问题。虽然在 Portrait 上一切都很好,但在 Landscape 方向上,ListBox 变得疯狂。拖动发生在实际被拖动的不同单元格上,其中一些单元格甚至不会引发手势事件(DragStarted、DragDelta、DragCompleted)。

我在这里迷路了,不知道可能是什么问题,也不知道如何解决。

请需要你的灯。

Here is a sample that illustrates the problem.

编辑

呸,这是工具包上的 GestureListener 的一个错误。它不遵循横向方向并将 UIElement 视为以纵向方式呈现。

改用操作事件,它可以正常工作。我可以拿回我的 50 赏金点数吗? :P

最佳答案

如果您正在查看的不是手势监听器而是操纵事件,那么有几个很好的问题:

Drag and drop from list to canvas on windows phone with MVVM

Moving Object in ScrollViewer

关于xaml - 使用 Toolkit Gestures 拖动在横向方向上变得疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437059/

相关文章:

C#/XAML 错误 'button_Click' 没有重载匹配委托(delegate) 'Windows.UI.Xaml.RoutedEventHandler'

html - 根据内部内容自动调整div

c# - 从库中选择图像并压缩 windows phone 8.1

c# - Navigation Back & MVVM - 如何刷新 WP8 页面数据绑定(bind)

c# - 如果单个项目超出控件高度,WPF 列表框无法显示内容

html - 由于内容过多,页脚错位

java - 在 JPanel 中将 JLabel 居中

c# - 共享 Windows Phone 运行时组件

c# - 从照片中获取 Exif 信息

xaml - Xamarin Forms - 按钮边距