56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
|
|
namespace Laservall.Solidworks.Extension
|
|
{
|
|
public static class WPFApplicationExt
|
|
{
|
|
/// <summary>
|
|
/// 设置主窗口
|
|
/// </summary>
|
|
/// <param name="application"></param>
|
|
/// <param name="window"></param>
|
|
/// <exception cref="ArgumentNullException"></exception>
|
|
//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;
|
|
//}
|
|
/// <summary>
|
|
/// 初始化应用程序,修复在某些情况下,引用第三方UI控件库的时候出现的异常与卡顿
|
|
/// </summary>
|
|
public static void InitApplication()
|
|
{
|
|
if (Application.Current == null)
|
|
{
|
|
new System.Windows.Application
|
|
{
|
|
ShutdownMode = ShutdownMode.OnExplicitShutdown,
|
|
Resources = new ResourceDictionary
|
|
{
|
|
Source = new Uri("pack://application:,,,/Laservall.Solidworks;component/Themes/Theme.xaml")
|
|
},
|
|
};
|
|
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
|
|
}
|
|
}
|
|
|
|
private static void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
|
{
|
|
HandyControl.Controls.MessageBox.Show($"{sender.GetType()}: {e.Exception.Message}");
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
}
|