В своем приложении Silverlight я использую пользовательский элемент управления, созданный из информационной области, и изображение стрелки ниже (как элемент диаграммы). Вот XAML:
<UserControl xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
x:Class="ClientGUI.Components.Clusters.ClusterLeftMenuUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<toolkit:PanelDragDropTarget AllowDrop="True">
<StackPanel Orientation="Vertical" Background="Transparent">
<Border CornerRadius="10" BorderBrush="Black" BorderThickness="2" Padding="0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="ClusterName" Grid.Row="1" Grid.Column="1"/>
<TextBlock Text="{Binding Type}" Grid.Row="2" Grid.Column="1" />
<TextBlock Text="#Dest" Grid.Row="3" Grid.Column="2" />
</Grid>
</Border>
<Image Source="/ClientGUI;component/Images/arrow.png" Height="40" Margin="0,-2,0,0" Canvas.ZIndex="-1" />
</StackPanel>
</toolkit:PanelDragDropTarget>
Usercontrol содержит dropTarget, потому что я должен иметь возможность удалить элемент из другого источника (что здесь не моя проблема).
Этот пользовательский контроль используется в ListBox на странице. Я хотел бы иметь возможность отсортировать этот список, используя механизм перетаскивания.
Мой ListBox
также завернут в ListBoxDragDropTarget
.
Проблема в том, что когда я начинаю перетаскивать свой пользовательский элемент управления, изображение и данные внутри границы действуют как отдельные элементы управления, поэтому перетаскивается только один из них.
Я хотел бы иметь возможность перемещать оба одновременно.
Что я делаю не так?
Заранее спасибо!