2016-05-12 3 views
1

У меня есть настройка перетаскивания в моем приложении UWP, и я хотел бы настроить представление, которое пользователь тащит. В настоящее время он точно такой же, как у ListViewItem, но у него есть Border (обеспечивающий фон и закругленные края), который я не хочу показывать в режиме перетаскивания.Как настроить изображение, отображаемое во время перетаскивания?

Это просто простой CanDragItems и AllowDrop с DragItemsStarting, DragEnter и Drop событий зацепили.

Есть ли способ сделать это?

+1

Вы можете поделиться своим кодом? – aloisdg

+0

Это просто простые «CanDragItems» и «AllowDrop» с событиями «DragItemsStarting», «DragEnter» и «Drop». Я не знаю, что еще поделиться. – vrwim

+1

Можете ли вы поделиться gif/screenshot? – Quakenxt

ответ

1

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

Чтобы удалить Bolder из ListviewItem, вам не нужен обычая перетягивания вида, вы можете просто установить дочерний элемент в Bolder элемента в CanDrag, после установки CanDrag свойства для Bolder дочернего элемента, таких как TextBlock , вы не увидите эффекты Bolder при перетаскивании элемента. Пример кода следующим образом:

<ListView x:Name="SourceListView" 
       Header="SourceListView" 
       SelectionMode="Extended"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <Border Background="Pink" 
         BorderBrush="Gray" 
         BorderThickness="2" 
         CornerRadius="10"> 
        <TextBlock Text="{Binding text}" DragStarting="TextBlock_DragStarting" CanDrag="True" /> 
       </Border> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

Я хотел бы, чтобы настроить представление о том, что пользователь тащит.

Если вы по-прежнему хотите настроить свой интерфейс перетаскивания, существует существующий класс DragUIOverride, который вы можете использовать для пользовательского просмотра Drag. Например, вы не хотите, чтобы показать стрелку в окне перетаскивания, вы можете установить IsGlyphVisible свойство в DragOver события, как это:

private void cnvDrop_DragOver(object sender, DragEventArgs e) 
{   
    e.DragUIOverride.IsGlyphVisible = false; 
} 

И Offical образец XamlDragAndDrop, то scenario2 показывает подробную информацию о DragUI х настройки.

Смежные вопросы