Настройте DragUI ListViewItem (UWP) - PullRequest
       38

Настройте DragUI ListViewItem (UWP)

0 голосов
/ 13 февраля 2019

ListView предлагает DragItemsStarting событие, которое приходит с соответствующими аргументами события.Однако, в отличие от DragStartingEventArgs - общего для других элементов - он не предлагает DragUI, насколько я могу судить.Мой единственный вариант - использовать событие DragOver , что очень раздражает.

Итак, я вместо этого сказал, что сделаю содержимое ListViewItem перетаскиваемым.Однако это привело к обратному результату, потому что теперь событие Click больше не проходит, или очень редко.Проще говоря, я могу либо настроить DragUI и не щелкать мои элементы ListItems, либо DragUI выглядит плохо, но я сохраняю свою функциональность.

Можно ли получить пользовательский DragUI и обработать щелчок с помощью ListView

1 Ответ

0 голосов
/ 13 февраля 2019

Вы все еще можете использовать DragStarting, но вы должны добавить его к самому содержанию элемента в вашем DataTemplate:

<ListView>
   <ListView.ItemTemplate>
       <DataTemplate>
           <Grid CanDrag="True" DragStarting="ItemDragStartingHandler">
                ...
           </Grid>
       </DataTemplate>
   </ListView.ItemTemplate>
</ListView>

Если это приводит к тому, что событие щелчка не работает должным образом, вы можете попробоватьнастройка самого контейнера ListViewItem, который может работать.Щелкните правой кнопкой мыши ListView в конструкторе или в окне "Структура документа", выберите Изменить дополнительные шаблоны , а затем Изменить контейнер сгенерированного элемента .В последнем меню выберите Редактировать копию ...

Edit additional templates

Вы получите Style, который может быть довольно длинным, но в нем вы найдете следующее:

<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="ListViewItem">
            <ListViewItemPresenter DragStarting="ItemDragStartingHandler" x:Name="Root" ...>

Вы можете применить DragStarting событие к ListViewItemPresenter, и это может удовлетворить ваши потребности.

...