这更像是“有没有可能(花费合理的时间和工作量)”而不是“它到底有多大可能”的问题。我现在正在进入WPF,并对MVVM方法中的图形应用程序感兴趣。在ms-paint类应用程序的意义上。现在我明白了,以及如何在画布上绘制矩形。我把这些矩形存储在一个列表中,等等。但是我想知道我是否可以做得更高级。例如,扩展矩形,这样我就可以给予它更多的信息(我不能扩展矩形本身,因为它是一个密封类),画布上已有的形状可以拖动,使形状复杂(例如,双击一个形状打开一个新窗口,表示该形状的“内部”)等。
这样的应用程序是否可能在WPF中花费合理的工作量和时间,或者我宁愿为此使用一些不同的库/框架?
1条答案
按热度按时间rks48beu1#
是的,这是可能的,实际上,你正在列出CAD规范,事实上,我在这类技术上工作,所以我会建议你一些资源有线索。
1.看一看this project(
WPF
,二维)1.和this one(
WPF
,三维)1.和this one(
WPF
,二维)1.以前的项目都是基于
WPF
的,而且,你可能会在你的WPF应用程序中托管一个WinForm
控件,看看this one(WinForms
,2维)如果你稍微改变一下规格,说:“我不想编辑画布上的绘图”,那么您可以选择此选项:把你的形状转换成
PathFigureCollection
和EllipseGeometry
对象,然后从这些对象中构造Path
,并把Path
添加到Canvas
中,这是一个纯粹的WPF
方法。实际上,你可以把传统的控件如TextBlock
作为子控件添加到你的Canvas
中,我已经做了这样的一个。指令集
希望能有所帮助。