[Ситуация]
У меня есть пользовательский элемент управления, который я добавляю на панель стека и после этого могу свободно перемещаться, перетаскивая.
public partial class CustomItem: UserControl
{
private bool IsDragging { get; set; }
private Point clickPosition;
public CustomItem()
{
InitializeComponent();
this.DataContext = this;
this.MouseLeftButtonDown += (s, ea) =>
{
clickPosition = ea.GetPosition(this.LayoutRoot);
this.CaptureMouse();
IsDragging = true;
};
this.MouseMove += (s, ea) =>
{
if (IsDragging)
{
this.transFormThisShit.X = ea.GetPosition(this).X - clickPosition.X;
this.transFormThisShit.Y = ea.GetPosition(this).Y - clickPosition.Y;
}
};
this.MouseLeftButtonUp += (s, ea) =>
{
this.ReleaseMouseCapture();
IsDragging = false;
};
}
[Проблема]
После того, как я добавляю 3 элемента и перетаскиваю первый элемент поверх второго или третьего, он прыгает за ним.
Когда я перетаскиваю второй элементэлемент над первым, он идет впереди, но когда я перетаскиваю его над третьим, он идет за ним.
Как сделать так, чтобы перетаскивание элемента управления всегда находилось поверх визуального дерева?