我不知道在哪里开始寻找有关此的信息所以我希望这里有人可以提供一些方向。
我想创建一个WPF窗口设计器。我们的想法是拥有一个自定义控件库,用于定义逻辑以及可以放置在WPF窗口上的控件,该窗口将直观地显示逻辑状态。
窗口可以在visual studio中编辑,但诀窍是结合运行时编辑功能。将运行WPF应用程序并使用"设计器模式"可以激活以显示包含所有可用控件的工具箱。可以将控件拖动到主动选择的窗口并通过弹出窗口进行配置。有些控件只是图形,如线条,但大多数控件都有底层逻辑来显示信息。
这类似于HMI,虽然我找到了允许使用visual studio进行HMI设计的库,但我找不到如何构建如上所述的基本运行时编辑器的任何内容。
我打算在应用程序中使用MEF,所以我想我知道如何创建库并使用MEF加载它们。我需要在每个库中包含用户控件和任何底层逻辑。
我想我需要包含一个"工具箱图像"对于每个控件,这是需要加载到工具箱中的内容。将使用拖放操作,当以某种方式启动拖放时,我需要为用户创建用户控件以放到窗口表面。
现在它将变成WPF窗口编辑器,我不知道如何获得该功能。即。能够在控件丢弃后移动控件。将窗口序列化为XAML文件,可以在下次运行时再次加载。
有没有关于做这些事情的指导?我一直在阅读图形编辑器示例和HMI示例,但没有真正展示如何使用用户/自定义控件。