C# WPF:画布上的复杂Shape对象?MVVM

olmpazwi  于 2022-11-18  发布在  C#
关注(0)|答案(1)|浏览(170)

这更像是“有没有可能(花费合理的时间和工作量)”而不是“它到底有多大可能”的问题。我现在正在进入WPF,并对MVVM方法中的图形应用程序感兴趣。在ms-paint类应用程序的意义上。现在我明白了,以及如何在画布上绘制矩形。我把这些矩形存储在一个列表中,等等。但是我想知道我是否可以做得更高级。例如,扩展矩形,这样我就可以给予它更多的信息(我不能扩展矩形本身,因为它是一个密封类),画布上已有的形状可以拖动,使形状复杂(例如,双击一个形状打开一个新窗口,表示该形状的“内部”)等。
这样的应用程序是否可能在WPF中花费合理的工作量和时间,或者我宁愿为此使用一些不同的库/框架?

rks48beu

rks48beu1#

是的,这是可能的,实际上,你正在列出CAD规范,事实上,我在这类技术上工作,所以我会建议你一些资源有线索。
1.看一看this projectWPF,二维)

1.和this oneWPF,三维)

1.和this oneWPF,二维)

1.以前的项目都是基于WPF的,而且,你可能会在你的WPF应用程序中托管一个WinForm控件,看看this oneWinForms,2维)

如果你稍微改变一下规格,说:“我不想编辑画布上的绘图”,那么您可以选择此选项:把你的形状转换成PathFigureCollectionEllipseGeometry对象,然后从这些对象中构造Path,并把Path添加到Canvas中,这是一个纯粹的WPF方法。实际上,你可以把传统的控件如TextBlock作为子控件添加到你的Canvas中,我已经做了这样的一个。


指令集
希望能有所帮助。

相关问题