gpt4 book ai didi

windows-runtime - 在 WinRT 中使用 VariableSizedWrapGrid 对 GridView 中的项目重新排序

转载 作者:行者123 更新时间:2023-12-02 03:52:12 26 4
gpt4 key购买 nike

我想创建类似 this 的 VariableSizedWrapGrid

但是,根据 this,我还希望项目可以拖动(CanReorderItems 属性)发布这个不受支持,因为缺少“某些”接口(interface)..我试过了,如果我使用 VariableSizedWrapGrid,重新排序确实会停止工作。

谁能指出我完成这项工作所缺少的接口(interface)的正确方向?

最佳答案

弗洛勒斯,

您几乎必须自己实现拖动事件。

这是一篇出色的博客文章,详细说明了您需要做什么:

http://www.renauddumont.be/en/2012/windows-8-csharp-xaml-drag-drop

但是,博客并没有提到如何很好地完成DragOver 逻辑。基本上,您必须检查您结束了什么项目,然后根据方向(向上/向下/向左/向右拖动)调用相应的视觉状态以获得流畅的动画。

因此,例如,如果拖动的项目位于其下方的项目上方(您可以根据项目在集合中的索引进行检查),那么您需要执行以下操作:

VisualStateManager.GoToState((Control)containerOfItemBelow, "BottomReorderHint", true);

顺便说一句,如果您使用的是 GroupedDataSource,拖放操作也会被破坏。我发现我可以通过嵌套 Gridviews 和 Listsviews 轻松避开整个 GroupedDataSource 概念。

HTH

关于windows-runtime - 在 WinRT 中使用 VariableSizedWrapGrid 对 GridView 中的项目重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13950192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com