gpt4 book ai didi

c# - 如何允许插件通过公共(public)属性公开 WPF 或 WindowsForms 控件?

转载 作者:行者123 更新时间:2023-11-30 22:26:02 25 4
gpt4 key购买 nike

我目前正在开发一个允许使用插件的应用程序。其中一项功能是该插件可以公开一个设置 UI,托管应用程序会将其嵌入某处供用户查看。

我想知道是否有某种方法可以将属性添加到我的插件界面,这将允许插件开发人员创建 wpf 或 winforms UI 并通过该属性公开它,同时保持属性类型化? (即不使用“对象”作为属性类型),或不使用单独的属性(即 WPFUI、WinFormsUI)等。

最佳答案

这两种技术的工作方式截然不同。我建议要么公开 Windows.Forms.ControlFrameworkElement ,但不是两者(至少不是来自相同插件API)。

如果您公开一个Control,使用ElementHost 提供WPF 控件很简单。 .同样,Windows 窗体插件可以通过 WindowsFormsHost 提供 FrameworkElement .

我在这里的决定更多地取决于主机应用程序的开发方式。如果您使用的是 WPF,我强烈建议将插件公开为 FrameworkElement,因为这会为您提供更多的灵 active 。如果您的主要应用程序将基于 Windows 窗体,那么只需公开一个 Control 就很简单。

如果您不想增加这种复杂性,我实际上建议使用两种单独的 API - 一种用于 Windows Forms 用户,一种用于 WPF 用户,因为这样可以使最终用户的简单性保持不变。根据插件机制,这通常很容易提供。

关于c# - 如何允许插件通过公共(public)属性公开 WPF 或 WindowsForms 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com