, но у этого есть граница (обеспечивающая фон и закругленные края) Я не хочу показывать в режиме перетаскивания.
Чтобы удалить 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 х настройки.
Вы можете поделиться своим кодом? – aloisdg
Это просто простые «CanDragItems» и «AllowDrop» с событиями «DragItemsStarting», «DragEnter» и «Drop». Я не знаю, что еще поделиться. – vrwim
Можете ли вы поделиться gif/screenshot? – Quakenxt