动态浮动用户控件wpf

时间:2016-04-21 15:30:48

标签: c# wpf mvvm user-controls window

我想创建一个用户控件,可以在应用程序运行时动态移动,使用拖放操作(类似于Visual Studio界面上的不同视图窗口)。

可以实现这样的事情,还是可以锁定控件"应用程序运行后?

1 个答案:

答案 0 :(得分:0)

您需要的是WPF Thumb控件。以下是您应该能够适应您的目的的答案:Drag and drop an image in WPF

当用户点击Thumb并拖动它时,它会反复触发其DragDelta事件。他为拖动的控件提供了一个名为TranslateTransform的{​​{1}},并且在translateTransform处理程序中,他只更改了转换的DragDeltaX的更改值:< / p>

Y

如果您想将动作范围限制在某个父级的范围内,您可以使用private void MyRootDragDelta(object sender, DragDeltaEventArgs e) { translateTransform.X += e.HorizontalChange; translateTransform.Y += e.VerticalChange; } Math.Min()并查看Math.Max()ActualWidth父母和孩子(除非在纯XAML中有一些聪明的方法,但我不知道一个)。您可以改为ActualHeightCanvas.SetLeft(ctl)