Windows表單應用程式的入口函數在Program.cs檔案中,但WPF應用程式沒有這個檔案,WPF應用程式入口函數在哪裡呢?手工添加一個入口函數,產生項目,出錯:
原來WPF應用程式入口函數在objReleaseApp.g.cs檔案中:
程式碼
| 代碼如下 |
複製代碼 |
public partial class App : System.Windows.Application { /// <summary> /// InitializeComponent /// </summary> [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] public void InitializeComponent() { #line 4 "..\..\App.xaml" this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); #line default #line hidden } /// <summary> /// Application Entry Point. /// </summary> [System.STAThreadAttribute()] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] public static void Main() { WpfApplication1.App app = new WpfApplication1.App(); app.InitializeComponent(); app.Run(); } } |
從代碼可知,InitializeComponent方法中的StartupUri用於指定WPF應用程式主表單,假如需修改主表單是不是這裡改一下就可以了?不行!App.g.cs注釋有說明:
引用內容
//------------------------------------------------------------------------------
// <auto-generated>
// 此代碼由工具產生。
// 運行時版本:4.0.30319.18052
//
// 對此檔案的更改可能會導致不正確的行為,並且如果
// 重建代碼,這些更改將會丟失。
// </auto-generated>
//------------------------------------------------------------------------------
WPF應用程式主表單應在App.xaml檔案中修改:
| 代碼如下 |
複製代碼 |
<Application x:Class="WpfApplication1.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> </Application.Resources> </Application> |