添加 ApplicationExt 静态类及初始化调用,解决因为未初始化主机导致的找不到资源问题
在 ApplicationExt.cs 文件中添加了一个新的静态类 ApplicationExt,包含 SetMainWindow 和 InitApplication 方法。更新 DesignPluginEntry.cs 和 PluginEntry.cs 文件,引入 Sinvo.EplanHpD.Plugin.WPFUI.Utils 命名空间,并在 Initialize 方法中调用 ApplicationExt.InitApplication 方法。
This commit is contained in:
parent
a0f401aad6
commit
40cbbc7d55
|
@ -0,0 +1,35 @@
|
||||||
|
using System;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
|
||||||
|
{
|
||||||
|
public static class ApplicationExt
|
||||||
|
{
|
||||||
|
public static void SetMainWindow(this Application application, Window window)
|
||||||
|
{
|
||||||
|
if (application == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(application));
|
||||||
|
}
|
||||||
|
if (window == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(window));
|
||||||
|
}
|
||||||
|
application.MainWindow = window;
|
||||||
|
}
|
||||||
|
public static void InitApplication()
|
||||||
|
{
|
||||||
|
if (Application.Current == null)
|
||||||
|
{
|
||||||
|
new System.Windows.Application
|
||||||
|
{
|
||||||
|
ShutdownMode = ShutdownMode.OnExplicitShutdown,
|
||||||
|
Resources = new ResourceDictionary
|
||||||
|
{
|
||||||
|
Source = new Uri("pack://application:,,,/Sinvo.EplanHpD.Plugin.WPFUI;component/Themes/Theme.xaml")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
using EPLAN.Harness.API;
|
using EPLAN.Harness.API;
|
||||||
using EPLAN.Harness.API.Plugins.Core;
|
using EPLAN.Harness.API.Plugins.Core;
|
||||||
using Sinvo.EplanHpD.Plugin.WPFUI;
|
using Sinvo.EplanHpD.Plugin.WPFUI;
|
||||||
|
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -9,7 +10,11 @@ using System.Windows.Forms.Integration;
|
||||||
|
|
||||||
namespace Sinvo.EplanHpD.Plugin
|
namespace Sinvo.EplanHpD.Plugin
|
||||||
{
|
{
|
||||||
|
#if DEBUG
|
||||||
public class DesignPluginEntry : EPLAN.Harness.API.Plugins.IHpDPlugin
|
public class DesignPluginEntry : EPLAN.Harness.API.Plugins.IHpDPlugin
|
||||||
|
#else
|
||||||
|
public class DesignPluginEntry
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
public string Name => "兴禾ProD插件-3D";
|
public string Name => "兴禾ProD插件-3D";
|
||||||
|
|
||||||
|
@ -55,6 +60,8 @@ namespace Sinvo.EplanHpD.Plugin
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
{
|
{
|
||||||
AppDomainDllLoader.SetLaoder();
|
AppDomainDllLoader.SetLaoder();
|
||||||
|
ApplicationExt.InitApplication();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ using EPLAN.Harness.API.Plugins.Core;
|
||||||
using EPLAN.Harness.Core.Controls;
|
using EPLAN.Harness.Core.Controls;
|
||||||
using EPLAN.Harness.ProjectCore;
|
using EPLAN.Harness.ProjectCore;
|
||||||
using Sinvo.EplanHpD.Plugin.WPFUI;
|
using Sinvo.EplanHpD.Plugin.WPFUI;
|
||||||
|
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -142,7 +143,7 @@ namespace Sinvo.EplanHpD.Plugin
|
||||||
{
|
{
|
||||||
//throw new NotImplementedException();
|
//throw new NotImplementedException();
|
||||||
AppDomainDllLoader.SetLaoder();
|
AppDomainDllLoader.SetLaoder();
|
||||||
|
ApplicationExt.InitApplication();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Terminate()
|
public void Terminate()
|
||||||
|
|
Loading…
Reference in New Issue