WPF : Reorder WrapPanel content via drag and drop?

最后都变了- 提交于 2019-12-03 09:16:43

问题


I am looking for a way to reorder the content (items) of a WPF WrapPanel via drag and drop. I just want to click on an item and drag it to a new position.

To my understanding this is a very common task and I wonder I someone already did this or has any idea how to implement this functionality.

I did a google search already but found nothing. Maybe it is more difficult than I expected.


回答1:


I've written a library which may help: default behaviour is to allow re-ordering within the same control:

http://code.google.com/p/gong-wpf-dragdrop/

Ah I notice you're talking about just a WrapPanel: you'll need to use an ItemsControl with a WrapPanel:

<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>



回答2:


A wrap panel won't give you the functionality you are looking for since it is just for layout. Instead look at adding the drag and drop functionality to a ListBox and change the ItemsPanelTemplate of that ListBox to use a wrap panel.


  • Changing a list box to use a Wrap Panel
  • Library for Drag and drop (from Groky's answer)


来源:https://stackoverflow.com/questions/2108712/wpf-reorder-wrappanel-content-via-drag-and-drop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!