在 Windows Phone 8.1 ListView 中重新排序
Reordering in Windows Phone 8.1 ListView
我有一个 Windows Phone 8.1 ListView
。我想重新排序 ListView
中的项目。我想在长按上启动重新排序模式,我可以通过点击项目 Holding
事件并更改 ListView
s ReorderMode
到 Enabled
。 ListView
看起来像这样
1.有没有办法让 "select" 和 item 准备好被拖动? 所以 ListView
看起来像这样?我找不到任何 属性 或任何使它成为 "selected" 的东西。用户选择他发起重新订购的项目会好得多。
2。有没有办法知道用户将物品放到了另一个地方(是否重新订购)? 我想我可以通过使用 ListView 上的 DragOver
或 DragLeaving
事件来完成它,但是当重新排序模式被禁用时它们会被触发,而不是当项目被放到另一个位置时。
3。有没有办法缩小重新排序模式下项目之间的差距? 我找到了 ListViewItemReorderHintThemeOffset
资源,但更改它(直接或编辑 ListViewItem
的样式)没有任何效果改变。
1 和 2:
您需要捕获ListItem的PointerPressed事件,或者在ItemTemplate的DataTemplate中。
然后将 ReorderMode 设置为已启用:
if (ListView != null && ListView.ReorderMode != ListViewReorderMode.Enabled)
{
ListView.ReorderMode = ListViewReorderMode.Enabled;
}
我有一个 Windows Phone 8.1 ListView
。我想重新排序 ListView
中的项目。我想在长按上启动重新排序模式,我可以通过点击项目 Holding
事件并更改 ListView
s ReorderMode
到 Enabled
。 ListView
看起来像这样
1.有没有办法让 "select" 和 item 准备好被拖动? 所以 ListView
看起来像这样?我找不到任何 属性 或任何使它成为 "selected" 的东西。用户选择他发起重新订购的项目会好得多。
2。有没有办法知道用户将物品放到了另一个地方(是否重新订购)? 我想我可以通过使用 ListView 上的 DragOver
或 DragLeaving
事件来完成它,但是当重新排序模式被禁用时它们会被触发,而不是当项目被放到另一个位置时。
3。有没有办法缩小重新排序模式下项目之间的差距? 我找到了 ListViewItemReorderHintThemeOffset
资源,但更改它(直接或编辑 ListViewItem
的样式)没有任何效果改变。
1 和 2:
您需要捕获ListItem的PointerPressed事件,或者在ItemTemplate的DataTemplate中。
然后将 ReorderMode 设置为已启用:
if (ListView != null && ListView.ReorderMode != ListViewReorderMode.Enabled)
{
ListView.ReorderMode = ListViewReorderMode.Enabled;
}