添加 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.Plugins.Core;
|
||||
using Sinvo.EplanHpD.Plugin.WPFUI;
|
||||
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
@ -9,7 +10,11 @@ using System.Windows.Forms.Integration;
|
|||
|
||||
namespace Sinvo.EplanHpD.Plugin
|
||||
{
|
||||
#if DEBUG
|
||||
public class DesignPluginEntry : EPLAN.Harness.API.Plugins.IHpDPlugin
|
||||
#else
|
||||
public class DesignPluginEntry
|
||||
#endif
|
||||
{
|
||||
public string Name => "兴禾ProD插件-3D";
|
||||
|
||||
|
@ -55,6 +60,8 @@ namespace Sinvo.EplanHpD.Plugin
|
|||
public void Initialize()
|
||||
{
|
||||
AppDomainDllLoader.SetLaoder();
|
||||
ApplicationExt.InitApplication();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ using EPLAN.Harness.API.Plugins.Core;
|
|||
using EPLAN.Harness.Core.Controls;
|
||||
using EPLAN.Harness.ProjectCore;
|
||||
using Sinvo.EplanHpD.Plugin.WPFUI;
|
||||
using Sinvo.EplanHpD.Plugin.WPFUI.Utils;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
@ -142,7 +143,7 @@ namespace Sinvo.EplanHpD.Plugin
|
|||
{
|
||||
//throw new NotImplementedException();
|
||||
AppDomainDllLoader.SetLaoder();
|
||||
|
||||
ApplicationExt.InitApplication();
|
||||
}
|
||||
|
||||
public void Terminate()
|
||||
|
|
Loading…
Reference in New Issue