我需要绘制数字信号并能够在WPF中移动线路的每一部分。
如下图所示,箭头指示线的一部分可以朝哪个方向移动。单击并拖动“可单击区域”将使整个正方形向左或向右移动。
我想到了几种方法来做到这一点:
Polyline
对象。但是我无法控制生产线的每个部分。 Line
对象。每次更改时,所有行都应调整其位置。难以控制的“可点击区域”。也许也很复杂。 Border
对象。每个部分实际上都是一个边框,它将显示/隐藏适当的边框。我不确定使边框的可移动侧面多么容易。 我的问题是,最正确的开始方法是什么?
最佳答案
需要考虑的几件事...
Thumb
是一个很好的控件,可以从中开始可拖动的东西,因为它已经提供了可以处理的适当事件。通过模板化,您可以按照自己的喜好给它任何形状。 Grid
和适当放置的网格分割器,您可以免费获得可拖动的行。如果那不起作用,则4个矩形可以正常工作。您将它们放在DockingPanel
中,并在其顶部,左侧,右侧和最后一个填充位置放置,并且您具有足够的基元来响应所有所需的事件。