я хочу, чтобы пользователь выбрал строку буксировки и перетащил мой код xalm в wpf
<TreeView Name="tvMain" FontSize="14" Grid.Row="2" Background="#FFF9F9F9"
AllowDrop="True"
PreviewMouseLeftButtonDown="TreeViewItem_PreviewMouseLeftButtonDown"
PreviewMouseMove="TreeViewItem_PreviewMouseMove"
SelectedItemChanged="tvMain_SelectedItemChanged">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="MouseDoubleClick" Handler="TreeView_MouseDoubleClick" />
<EventSetter Event="MouseRightButtonDown" Handler="TreeView_MouseRightClick" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate >
<StackPanel Orientation="Horizontal">
<Image Margin="2" Width="14" Height="14" Source="{Binding Path=ImageUrl}" HorizontalAlignment="Right" VerticalAlignment="Center" ></Image>
<TextBlock Margin="2" Text="{Binding Path=Name}" MinWidth="280" Width="{Binding Path=SizeOfName}" VerticalAlignment="Center" />
<TextBlock Name="lb_params" Text="{Binding Params}" Width="{Binding Path=SizeParams}" VerticalAlignment="Center" TextAlignment="Center"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
код позади
Point startPoint;
private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
startPoint = e.GetPosition(null);
}
private void TreeViewItem_PreviewMouseMove(object sender, MouseEventArgs e)
{
Point mousePos = e.GetPosition(null);
Vector diff = startPoint - mousePos;
if (e.LeftButton == MouseButtonState.Pressed)
{
TreeView treeView = sender as TreeView;
if (treeView.SelectedItem != null)
{
DataObject dragData = new DataObject("myFormat", treeView.SelectedItem);
DragDrop.DoDragDrop(treeView, dragData, DragDropEffects.Move);
}
}
}
private static T FindAnchestor<T>(DependencyObject current)
where T : DependencyObject
{
do
{
if (current is T)
{
return (T)current;
}
current = VisualTreeHelper.GetParent(current);
}
while (current != null);
return null;
}
теперь пользователь может выбрать один элемент в виде дерева, но я хочу выбрать элемент буксировки для перетаскивание. Я хочу, чтобы пользователь выбрал 2 элемента для перетаскивания. Я хочу просмотреть дерево с множественным выбором