实现复杂C#GUI的策略
我想创建一个交互式简化版的Blender节点编辑器,以接触复杂的GUI编程。我有使用基本GUI的经验,但我想了解更多 以下是混合器节点编辑器的示例: 我的策略:实现复杂C#GUI的策略,c#,winforms,user-interface,C#,Winforms,User Interface,我想创建一个交互式简化版的Blender节点编辑器,以接触复杂的GUI编程。我有使用基本GUI的经验,但我想了解更多 以下是混合器节点编辑器的示例: 我的策略: C#用于应用程序编程 表示为抽象节点类的子类的节点类型 WinformsGUI。(我不熟悉WPF,而且我读过将WPF与外部图形集成可能很困难。) OpenGL/Direct3D(或类似?),用于与节点交互并渲染到Winforms面板中。这可以是p/c++或单独的C++项目以及基础C应用程序。我不确定哪一个更好 将节点结构的有用表示形
用于应用程序编程C#
- 表示为抽象
类的子类的节点类型节点
GUI。(我不熟悉Winforms
,而且我读过将WPF
与外部图形集成可能很困难。)WPF
/OpenGL
(或类似?),用于与节点交互并渲染到Direct3D
面板中。这可以是p/c++或单独的C++项目以及基础C应用程序。我不确定哪一个更好Winforms
- 将节点结构的有用表示形式输出到
中供以后使用JSON
对于图形编程,我应该使用
OpenGL
,Direct3D
,还是使用自定义控件绘制之类的不同路径?请记住,我希望学习,而不是建立一个强大的生产系统。将WPF与外部图形集成可能很困难
您能详细说明一下您的想法吗?什么是外部图形?就我个人而言,我会选择WPF。我会说WinForms和复杂的GUI不适合。舒尔,如果您对WPF进行编程,将有很多值得学习的地方。您需要了解XAML。仅使用表单设计器是不够的。¨WPF用于创建复杂的UI,可以很好地扩展到不同的设备。所以我认为你应该考虑that@thehennyy在这种情况下,我认为“外部图形”指的是使用一个单独的C++项目来包含OpenGL图形引擎,将所有方面结合到一个项目中。我已经使用WPF和WinForms编写了这种风格的接口。WPF使它在我看来更容易一些,但工作负载非常相似,除非您使用的是MVVM模式。@RogerN我想您的意思是在自定义控件对象内执行所有绘制?您是否发现这对于正常的用户交互来说足够灵敏?