WPF Application

Application类作为启动的入口,在VS中,通常自动代码为我们继承了Application类,这样做的有点,我还没有理解到,但是我们先学到这个知识点。

为了能够更好的控制整个启动过程,包括得到Active,LoadComplete,Deactive,SessionEnding等事件,可以主动改变程序的入口,即是static void Main(string[] args)方法的所在位置。

我们主动添加一个Program.cs(当然叫别的名字是可以的)的文件,添加Main方法,并在其中修改启动,代码就可以了。说的比较粗略,看代码吧。

Program.cs

 1 using System;
 2
 3 namespace LearnWPF
 4 {
 5     class Program
 6     {
 7         [STAThread]
 8         public static void Main(string[] args)
 9         {
10             App app = new App();
11             myWInd m = new myWInd();
12             app.MainWindow = m;
13             m.Show();
14             app.Run();
15         }
16     }
17 }

App.xaml.cs

 1 using System;
 2 using System.Diagnostics;
 3 using System.Windows;
 4
 5 namespace LearnWPF
 6 {
 7     /// <summary>
 8     /// Interaction logic for App.xaml
 9     /// </summary>
10     public partial class App : Application
11     {
12         protected override void OnActivated(EventArgs e)
13         {
14             base.OnActivated(e);
15             Debug.WriteLine("OnActived");
16         }
17
18         protected override void OnDeactivated(EventArgs e)
19         {
20             base.OnDeactivated(e);
21             Debug.WriteLine("OnDeactived");
22         }
23
24         protected override void OnExit(ExitEventArgs e)
25         {
26             base.OnExit(e);
27             MessageBox.Show("Exiting");
28         }
29
30         protected override void OnSessionEnding(SessionEndingCancelEventArgs e)
31         {
32             base.OnSessionEnding(e);
33             MessageBox.Show("you‘re quitting");
34         }
35
36         protected override void OnStartup(StartupEventArgs e)
37         {
38             base.OnStartup(e);
39             MessageBox.Show("Staring");
40         }
41
42         protected override void OnLoadCompleted(System.Windows.Navigation.NavigationEventArgs e)
43         {
44             base.OnLoadCompleted(e);
45             MessageBox.Show("completed");
46         }
47     }
48 }

App.xaml 这文件指明了启动的窗口等内容,所以需要相应地修改。

1 <!--application 的 class属性可以随便写-->
2 <!--application 的 StartupUri属性指明了 启动的窗体-->
3 <Application x:Class="muhaha"
4              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
5              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
6     <Application.Resources>
7
8     </Application.Resources>
9 </Application>

但是,到了这里还是不行的;因为对于App.xaml在自动生成的代码里,会有Main方法入口,因此还需要改变程序的入口,在项目的属性里修改配置。请注意,刚刚添加Program.cs文件后,可能这里不会有,编译一次,就会在这里出现了,如下图所示。

希望能够帮助一些同学。

时间: 2024-09-28 07:56:57

WPF Application的相关文章

C# WPF Application 下的文件操作

好气哦,电脑好烂,每天花大把的时间在等电脑反应上. 没有钱买新电脑,连组台式机的钱都没有.好气哦. 啊啊啊啊文件操作是什么鬼???C++下我都懵了,C#下好多东西要学!!!我不会!我不会!我不会!!!啊啊啊啊啊啊!!! 怎么办啊?用windows API写我要怎么样移植到Linux下? WINDOWS API的文件操作 一.常用函数 CreateFile 创建.打开文件 ReadFile 读取文件内容 WriteFile 写入文件内容 SetFilePointer 移动文件指针 SetEndOf

c#学习笔记之WPF Application和Windows Form Applications

一.WPF Application WPF使用XAML(extensible application markup language)可扩展应用程序标记语言,来进行页面的操纵,非常简便易懂. 下面一段代码,就是使用xaml语言对页面进行布局 <Window x:Class="WpfApplication1.Window1"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 

WPF Application Framework (WAF)

ViewModel: public abstract class ViewModel<TView> : ViewModel where TView : IView WPF Application Framework (WAF)

vs 编译错误 The name &#39;InitializeComponent&#39; does not exist in the current context in WPF application

1:文件命名空间的问题 xaml文件和model.cs文件的命名空间 2:csproj 那么它究竟是给谁用的呢?那是给开发工具用的,例如我们在熟悉不过的Visual Studio,以及大家可以没有接触过,但是应该都听说过的MSBuild.exe.Visual Studio会根据csproj里的XML定义来管理项目文件以及相关其他一些种类非常丰富的数据及操作,MSBuild也会根据csproj文件来得知编译这个项目需要有哪些依赖,默认输出路径,Pre-Build和Post-Build需要哪些操作等

每天翻译一点点: WPF Application Framework (WAF)

ps:http://waf.codeplex.com/wikipage?title=Model-View-ViewModel%20Pattern&referringTitle=Documentation Model-View-ViewModel Pattern Common abbreviations: M-V-VM or MVVM Introduction Separating user interface code from everything else is a key principl

【转】How to view word document in WPF application

How to view word document in WPF application (CSVSTOViewWordInWPF) Introduction The Sample demonstrates how to view word document in WPF application. WPF does not support to view Word documents directly but some customers want to show word document i

WPF Application 类介绍以及WPF异常处理

现在把wpf中的application和特殊的异常处理办法公布如下: wpf中对启动窗体等的控制 是APP.XAML文件和其cs文件下面,可以在XAML中进行编码,也可以在后台cs代码中编码 首先讲解Application类 属性: Current                  获取当前 AppDomain的 Application 对象 MainWindow           获取或设置应用程序的主窗体.(下面详细介绍) Resources              获取或设置应用程序范

博客园WPF Application类

所有的WPF程序,都是由Application类实例创建,该类负责打开当前应用程序和窗体,并且决定如何关闭应用程序等.Application类的主要功能可以简单总结以下几点: 1.保持主线程 使用Application后,只要有窗体没有退出,则应用程序不会退出,他会重新定义出新的主窗体,只有所有的窗体都关闭,Appliction才决定是否退出应用程序.Application起到管理所有窗体的作用.看如下代码: class Program { [STAThread()] static void M

WPF——Application

Application类处于WPF应用程序的最顶端,main函数就在这个类中. Application类的作用: 截图连接 https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.application?view=netframework-4.8 https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/app-development/application-management-ov

Wpf Application类的任务:

首先Application能够实现几种功能,比如访问命令行参数,获取当前程序类的实例,以及常见的单窗口程序实例. 访问命令行参数: 第一种: 获取获取方式使用Environment.GetCommandLineArgs(); 第二种: 响应 Application 类的 OnStartup() 事件. Example: /// <summary> /// 通过类属性=>调试=>命令行参数执行相应的动作 /// </summary> /// <param name=