using AvalonDock.Layout; using AvalonDock.Themes; using Cowain.Bake.BLL; using Cowain.Bake.Common; using Cowain.Bake.Common.Enums; using Cowain.Bake.Communication.Interface; using Cowain.Bake.Model; using System.Collections.Generic; using System.Threading; using System.Windows; using Unity; namespace Cowain.Bake.Main.Views { /// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public static LayoutDocument mainShowWindow; //为了设置Title,直接Binding无效 IUnityContainer _unityContainer = null; List _theme = new List(); //public static MainWindowViewModel mainWindowModel = null; public MainWindow(IUnityContainer unityContainer) { InitializeComponent(); _unityContainer = unityContainer; mainShowWindow = showWindow; _theme.Add(new MetroTheme()); //GenericTheme _theme.Add(new AeroTheme()); _theme.Add(new Vs2013BlueTheme()); _theme.Add(new Vs2013DarkTheme()); _theme.Add(new Vs2013LightTheme()); _theme.Add(new ExpressionDarkTheme()); } public void ChangeSkin(int i) { dockingManager.Theme = _theme[i]; //MetroTheme } private void Window_Loaded(object sender, RoutedEventArgs e) { } void CloseAllHandle() { System.Collections.Generic.List plcList = _unityContainer.Resolve().GetConfig(EDeviceType.PLC); foreach (var item in plcList) { IPLCDevice plc = _unityContainer.Resolve(item.Name); //几个PLC,就实例化几个 if (null != plc && plc.IsConnect) { plc.Close(); } } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { // 执行窗体的 Closing 事件的逻辑 if (MessageBoxResult.OK == HandyControl.Controls.MessageBox.Ask("是否退出自动真空烘烤系统?", "退出")) { Global.AppExit = true; CloseAllHandle(); //Thread.Sleep(3000); //await Task.Delay(10000); async e.Cancel = false; } else { e.Cancel = true; } } } }