我想创建一个用户控件,可以在应用程序运行时动态移动,使用拖放操作(类似于Visual Studio界面上的不同视图窗口)。
可以实现这样的事情,还是可以锁定控件"应用程序运行后?
答案 0 :(得分:0)
您需要的是WPF Thumb
控件。以下是您应该能够适应您的目的的答案:Drag and drop an image in WPF
当用户点击Thumb
并拖动它时,它会反复触发其DragDelta
事件。他为拖动的控件提供了一个名为TranslateTransform
的{{1}},并且在translateTransform
处理程序中,他只更改了转换的DragDelta
和X
的更改值:< / p>
Y
如果您想将动作范围限制在某个父级的范围内,您可以使用private void MyRootDragDelta(object sender, DragDeltaEventArgs e)
{
translateTransform.X += e.HorizontalChange;
translateTransform.Y += e.VerticalChange;
}
和Math.Min()
并查看Math.Max()
和ActualWidth
父母和孩子(除非在纯XAML中有一些聪明的方法,但我不知道一个)。您可以改为ActualHeight
和Canvas.SetLeft(ctl)
。