对于内部工具,我需要创建类似于Blender的节点编辑器(见下图)或UE4的WPF蓝图编辑器.

后端和单个块不是问题,但我不确定如何使用任意大小和扩展的画布.我考虑使用Canvas内部a ScrollViewer,但我认为向左滚动很困难(即,如果用户必须ScrollViewer在边缘处添加节点).我对WPF比较陌生,所以有人能指出我正确的方向吗?
您必须Panel使用IScrollInfo接口编写自己的自定义实现。通过此界面,您可以随时使用ScrollOwner.InvalidateScrollInfo()方法动态更改面板的范围大小。以下是一些可以帮助您入门的链接:
Ben Constable 关于 IScrollInfo 的优秀博文系列
您的最终代码应包含ItemsControl在ScrollViewer. 至于绘制块之间的连接,我个人会使用面板上方的透明层以及OnRender使用DrawingContext.
编辑:
看看这篇文章。这里有一个类似工作节点编辑器的控件。
| 归档时间: |
|
| 查看次数: |
2723 次 |
| 最近记录: |