WPF: Изменить порядок содержимого WrapPanel с помощью перетаскивания? - PullRequest
12 голосов
/ 21 января 2010

Я ищу способ изменить порядок содержимого (элементов) WPF WrapPanel с помощью перетаскивания. Я просто хочу нажать на элемент и перетащить его на новую позицию.

Насколько я понимаю, это очень распространенная задача, и мне интересно, кто-то уже сделал это или знает, как реализовать эту функцию.

Я уже выполнил поиск в Google, но ничего не нашел. Может быть, это сложнее, чем я ожидал.

Ответы [ 2 ]

14 голосов
/ 21 января 2010

Я написал библиотеку, которая может помочь: поведение по умолчанию разрешает повторный порядок в одном и том же элементе управления:

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

Ах, я заметил, что вы говорите только оWrapPanel: вам нужно использовать ItemsControl с WrapPanel:

<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
3 голосов
/ 21 января 2010

Панель обтекания не даст вам нужных функций, поскольку она предназначена только для макета. Вместо этого посмотрите на добавление функции перетаскивания в ListBox и измените шаблон ItemsPanelTemplate этого ListBox для использования панели переноса.


...