Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows窗体应用程序中的WPF插件_C#_Wpf_Winforms - Fatal编程技术网

C# Windows窗体应用程序中的WPF插件

C# Windows窗体应用程序中的WPF插件,c#,wpf,winforms,C#,Wpf,Winforms,我习惯于WPF开发。但最近,我被分配到Windows窗体项目。幸运的是,应用程序框架支持可插拔的体系结构,这就是为什么我觉得我可以在WPF中开发插件 如果我们安全地假设框架只需要一个接口就可以检测插件,那么我有以下问题: 首先,为给定场景开发WPF插件是一个好主意吗 是否有我应该遵循的指导方针?有什么例子吗 设计一些专门用于WPF插件的抽象层,而不是依赖于接口,这是一个好主意吗 提前感谢。是的,我们有一个名为“插件”的大型项目,基本上是通过附加的应用程序域加载WPF应用程序/Windows 我认

我习惯于WPF开发。但最近,我被分配到Windows窗体项目。幸运的是,应用程序框架支持可插拔的体系结构,这就是为什么我觉得我可以在WPF中开发插件

如果我们安全地假设框架只需要一个接口就可以检测插件,那么我有以下问题:

  • 首先,为给定场景开发WPF插件是一个好主意吗
  • 是否有我应该遵循的指导方针?有什么例子吗
  • 设计一些专门用于WPF插件的抽象层,而不是依赖于接口,这是一个好主意吗

  • 提前感谢。

    是的,我们有一个名为“插件”的大型项目,基本上是通过附加的应用程序域加载WPF应用程序/Windows

    我认为你的情况取决于你的Windows窗体是在.NET2还是.NET3.5中。如果是.NET3.5,那么您不需要额外的应用程序域来加载带有WPF的.NET3.5

    如果您已经在.NET3.5中使用WinForms,那么您可以使用ElementHost在WinForms中托管WPF

    除了一些小故障(比如有时不重新粉刷表单),在我们的案例中进展相当顺利

    至于你的Qs:

  • 通常在WPF中做任何事情都更好,但是你有选择吗?(我不这么认为)

  • 在WPF ElementHost上查找示例

  • 好的,我会将MVVM与WPF结合使用,以便以后您可以在不改变大部分业务层逻辑的情况下改变UI位(可能是Silverlight或Win8 metro)


  • 是的,我们有一个名为“插件”的大型项目,它基本上是通过附加的应用程序域加载WPF应用程序/窗口

    我认为你的情况取决于你的Windows窗体是在.NET2还是.NET3.5中。如果是.NET3.5,那么您不需要额外的应用程序域来加载带有WPF的.NET3.5

    如果您已经在.NET3.5中使用WinForms,那么您可以使用ElementHost在WinForms中托管WPF

    除了一些小故障(比如有时不重新粉刷表单),在我们的案例中进展相当顺利

    至于你的Qs:

  • 通常在WPF中做任何事情都更好,但是你有选择吗?(我不这么认为)

  • 在WPF ElementHost上查找示例

  • 好的,我会将MVVM与WPF结合使用,以便以后您可以在不改变大部分业务层逻辑的情况下改变UI位(可能是Silverlight或Win8 metro)