我需要绘制数字信号并能够在WPF中移动线路的每一部分。

如下图所示,箭头指示线的一部分可以朝哪个方向移动。单击并拖动“可单击区域”将使整个正方形向左或向右移动。

我想到了几种方法来做到这一点:

  • Polyline对象。但是我无法控制生产线的每个部分。
  • Line对象。每次更改时,所有行都应调整其位置。难以控制的“可点击区域”。也许也很复杂。
  • Border对象。每个部分实际上都是一个边框,它将显示/隐藏适当的边框。我不确定使边框的可移动侧面多么容易。
  • 其他选项...

  • 我的问题是,最正确的开始方法是什么?

    最佳答案

    需要考虑的几件事...

  • Thumb是一个很好的控件,可以从中开始可拖动的东西,因为它已经提供了可以处理的适当事件。通过模板化,您可以按照自己的喜好给它任何形状。
  • 通过巧妙地使用Grid和适当放置的网格分割器,您可以免费获得可拖动的行。如果那不起作用,则4个矩形可以正常工作。您将它们放在DockingPanel中,并在其顶部,左侧,右侧和最后一个填充位置放置,并且您具有足够的基元来响应所有所需的事件。
  • 09-28 12:58