首页 > 代码库 > 初学WPF之程序启动几种方式
初学WPF之程序启动几种方式
1、第一种是默认的方式,通过app.xaml中的StartupUri="MainWindow.xaml"配置的。
1 <Application x:Class="BaseElement.App"2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4 StartupUri="MainWindow.xaml">5 <Application.Resources>6 </Application.Resources>7 </Application>
2、第二种是通过创建Application对象来启动程序。同时右击工程->属性->应用程序->启动对象设为Startup就行了。
1 public class Startup 2 { 3 [STAThread] 4 public static void Main() 5 { 6 7 // Create the application. 8 Application app = new Application(); 9 // Create the main window.10 MainWindow win = new MainWindow();11 // Launch the application and show the main window.12 app.Run(win);13 }14 }
3、第三种是修改App.xaml.cs文件。添加Main方法。同时删除app.g.cs文件中Main方法
1 /// <summary> 2 /// App.xaml 的交互逻辑 3 /// </summary> 4 public partial class App : Application 5 { 6 7 [STAThread()] 8 public static void Main() 9 {10 BaseElement.App app = new BaseElement.App();11 app.InitializeComponent();12 app.Run();13 }14 public void InitializeComponent()15 {16 this.StartupUri = new Uri("MainWindow.xaml", System.UriKind.Relative);17 }18 }
4、第四种也是修改App.xaml.cs文件,和第三种不太一样。此方法还包括了如果传递command-line arguments(命令行参数)
1 public partial class App : Application 2 { 3 [STAThread] 4 public static void Main() 5 { 6 App app = new App(); 7 app.Run(); 8 } 9 10 public App()11 {12 this.Startup += new StartupEventHandler(App_Startup);13 }14 15 private static void App_Startup(object sender, StartupEventArgs e)16 {17 // Create, but don‘t show the main window.18 MainWindow win = new MainWindow();19 if (e.Args.Length > 0)20 {21 string file = e.Args[0];22 if (System.IO.File.Exists(file))23 {24 // Configure the main window.25 win.LoadFile(file);26 }27 }28 else29 {30 // (Perform alternate initialization here when31 // no command-line arguments are supplied.)32 }33 // This window will automatically be set as the Application.MainWindow.34 win.Show();35 }36 }
第一次写博客,如果有什么问题请多多包含,我也是刚刚学习wpf,还是菜鸟!
初学WPF之程序启动几种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。