如何创建一个用线连接两个列表项的控件?

时间:2014-10-14 16:37:48

标签: c# wpf controls custom-controls

我正在尝试在.NET中创建一个控件,该控件显示两个列表,其中包含用户可以使用拖放功能连接它们的项目,并绘制显示连接的行。此控件可用于多种目的(映射两个列表,连接问题和答案,建立关系等)。

我们的想法是可以轻松添加和删除这些行。不确定我是否应该使用直线或曲线,因为如果所有项目都已连接,可能会更难找到连接点。

我知道使用WinForms会很痛苦,而且我不会灵活地升级控件的外观。我想我应该采用WPF方式,但不确定如何处理解决方案。任何有关示例的帮助都将非常感激。

Here is a rough sketch我打算创建的内容。当然,一旦控制工作正常,我需要努力让它看起来更好看。

1 个答案:

答案 0 :(得分:0)

同意HighCore - 看看WPF中的Canvas。您也可以使用GDI +在WinForms中执行此操作。基本上,您需要定义端点 - 可以通过单击或listItem的边框来定义。然后,存储链接它们的行集合。当listItems更改位置时,您需要调整画布上的线条。