⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bankshellapplication.cs

📁 wpf和cab的结合使用源码(转载)
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using Microsoft.Practices.CompositeUI;
using Microsoft.Practices.CompositeUI.Windows;
using BankTellerCommon;

namespace BankShell
{
	public sealed class BankShellApplication : ApplicationShellApplication<WorkItem, App>
	{
		protected override void AfterShellCreated()
		{
			base.AfterShellCreated();
			
			//create the main window
			BankShellWindow bankShellWindow = RootWorkItem.Items.AddNew<BankShellWindow>();
			Shell.MainWindow = bankShellWindow;
			MenuItem fileItem = bankShellWindow.FileMenuItem;

			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.MAINMENU, bankShellWindow.Menu);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.MAINSTATUS, bankShellWindow.StatusBar);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.FILE, bankShellWindow.Menu);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.FILEDROPDOWN, fileItem);

			// Load the menu structure from App.config
			UIElementBuilder.LoadFromConfig(RootWorkItem);

			//add commands that map to WPF commands (the LoadFromConfig method isn't smart enough to do this yet)
			MenuItem menuItem = new MenuItem();
			menuItem.Header = "_Undo";
			menuItem.Command = ApplicationCommands.Undo;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Redo";
			menuItem.Command = ApplicationCommands.Redo;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);

			RootWorkItem.UIExtensionSites["Edit"].Add(new Separator());

			menuItem = new MenuItem();
			menuItem.Header = "Cu_t";
			menuItem.Command = ApplicationCommands.Cut;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Copy";
			menuItem.Command = ApplicationCommands.Copy;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Paste";
			menuItem.Command = ApplicationCommands.Paste;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);

			RootWorkItem.UIExtensionSites["Edit"].Add(new Separator());

			menuItem = new MenuItem();
			menuItem.Header = "Select _All";
			menuItem.Command = ApplicationCommands.SelectAll;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);

			//show the main window
			bankShellWindow.Show();
		}

		#region Unhandled Exception

		public override void OnUnhandledException(object sender, UnhandledExceptionEventArgs e)
		{
			Exception ex = e.ExceptionObject as Exception;

			if (ex != null)
			{
				MessageBox.Show(BuildExceptionString(ex));
			}
			else
			{
				MessageBox.Show("An Exception has occured, unable to get details");
			}

			Environment.Exit(0);
		}

		private string BuildExceptionString(Exception exception)
		{
			string errMessage = string.Empty;

			errMessage += exception.Message + Environment.NewLine + exception.StackTrace;

			while (exception.InnerException != null)
			{
				errMessage += BuildInnerExceptionString(exception.InnerException);
				exception = exception.InnerException;
			}

			return errMessage;
		}

		private string BuildInnerExceptionString(Exception innerException)
		{
			string errMessage = string.Empty;

			errMessage += Environment.NewLine + " InnerException ";
			errMessage += Environment.NewLine + innerException.Message + Environment.NewLine + innerException.StackTrace;

			return errMessage;
		}

		#endregion
	}




	/*
	public sealed class BankShellApplication : WindowShellApplication<WorkItem, BankShellWindow>
	{
		protected override void AfterShellCreated()
		{
			base.AfterShellCreated();

			MenuItem fileItem = Shell.FileMenuItem;

			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.MAINMENU, Shell.Menu);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.MAINSTATUS, Shell.StatusBar);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.FILE, Shell.Menu);
			RootWorkItem.UIExtensionSites.RegisterSite(UIExtensionConstants.FILEDROPDOWN, fileItem);

			// Load the menu structure from App.config
			UIElementBuilder.LoadFromConfig(RootWorkItem);

			//add commands that map to WPF commands (the LoadFromConfig method isn't smart enough to do this yet)
			MenuItem menuItem = new MenuItem();
			menuItem.Header = "_Undo";
			menuItem.Command = ApplicationCommands.Undo;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Redo";
			menuItem.Command = ApplicationCommands.Redo;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);

			RootWorkItem.UIExtensionSites["Edit"].Add(new Separator());

			menuItem = new MenuItem();
			menuItem.Header = "Cu_t";
			menuItem.Command = ApplicationCommands.Cut;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Copy";
			menuItem.Command = ApplicationCommands.Copy;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
			menuItem = new MenuItem();
			menuItem.Header = "_Paste";
			menuItem.Command = ApplicationCommands.Paste;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);

			RootWorkItem.UIExtensionSites["Edit"].Add(new Separator());

			menuItem = new MenuItem();
			menuItem.Header = "Select _All";
			menuItem.Command = ApplicationCommands.SelectAll;
			RootWorkItem.UIExtensionSites["Edit"].Add(menuItem);
		}

		#region Unhandled Exception

		public override void OnUnhandledException(object sender, UnhandledExceptionEventArgs e)
		{
			Exception ex = e.ExceptionObject as Exception;

			if (ex != null)
			{
				MessageBox.Show(BuildExceptionString(ex));
			}
			else
			{
				MessageBox.Show("An Exception has occured, unable to get details");
			}

			Environment.Exit(0);
		}

		private string BuildExceptionString(Exception exception)
		{
			string errMessage = string.Empty;

			errMessage += exception.Message + Environment.NewLine + exception.StackTrace;

			while (exception.InnerException != null)
			{
				errMessage += BuildInnerExceptionString(exception.InnerException);
				exception = exception.InnerException;
			}

			return errMessage;
		}

		private string BuildInnerExceptionString(Exception innerException)
		{
			string errMessage = string.Empty;

			errMessage += Environment.NewLine + " InnerException ";
			errMessage += Environment.NewLine + innerException.Message + Environment.NewLine + innerException.StackTrace;

			return errMessage;
		}

		#endregion
	}
	*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -