C#学习_WPF应用程序入口_干货笔记

Application和App类

1.WPF是微软公司推出的基于DirectX和GPU加速来实现的图形界面显示技术,
是.NET框架的一部分。
2.WPF应用程序通过从Application类继承的App类的XAML文件(App.xaml)和代码隐藏
文件(App.xaml.cs)协同配合共同公开Application类中应用程序的定义。
3.为了避免开发人员编辑系统自动生成的代码导致不正确的呈现行为,WPF应用程序将Main
方法隐藏起来了。
4.创建一个WPF应用程序后,鼠标右击App.xaml.cs文件中的App类,选择【查找所有
引用】,就可以看到系统自动生成的App.g.i.cs文件,双击该文件就可以看到它包含的代码。
当调试和执行WPF应用程序项目时,系统会自动调用该文件中的Main方法,并在Main方法中
自动创建App对象。
5.一个WPF应用程序只有一个Application类的实例,该实例称为单例。在WPF应用程序中,
可以先用App.Current来获取这个单例,然后再通过它调用该单例提供的属性和方法。也
可以直接使用Application.Current获取该单例,再调用它提供的属性和方法。
6.App类提供的静态Current属性公开了当前应用程序的Application单例。可直接通过
App.Current获取这个对象。例如:Application current = App.Current。
App类的静态Current属性默认返回的对象是Application类型,如果希望在其他类中获取
App类型的对象,必须进行显示转换:
App app = (App)App.Current;

App类提供的常用属性,方法和事件:
StartupUri属性:获取或设置应用程序启动时自动显示的用户界面(UI)
MainWindow属性:获取或设置应用程序的主窗口
Properties属性:获取或设置应用程序的属性集合(App.Current.Properties)
Resources属性:获取或设置应用程序范围资源的集合(App.Current.Resourse)
Shutdown方法:停止当前的应用程序  用法:App.Current.ShutDown();
Startup事件:通过该事件可获取该应用程序启动时传递给该应用程序的命令行参数(e.Args)
Exit事件:当应用程序关闭时,可在该事件中执行一些处理,例如保存应用程序执行的
状态码以供调用该进程的其他进程访问等。另外,也可以通过App.Current.ShutDown方法
中提供的参数设置状态码。

WPF应用程序的关闭模式及ShutDown方法

1.在WPF应用程序中调用Shutdowm方法,会立即关闭应用程序。
	用法:App.Current.Shutdown();或者Application.Current.Shutdown();
2.在ShutDown方法的参数中,可以使用ShutDownMode枚举类型控制关闭模式。
ShutDownMode的枚举值:
1️⃣OnLastWindowClose:当用户关闭最后一个窗口或者显示调用ShutDown方法时,
立即关闭应用程序,这是默认的关闭模式。
2️⃣OnMainWindowClose:当用户关闭主窗口或者显示调用ShutDown方法时才关闭
应用程序。
3️⃣OnExplicitShutDown:仅当显式调用ShutDown方法时才关闭应用程序。

XAML命名空间和x:前缀编程构造

1.XAML(可扩展应用程序标记语言)是一种基于XML(可扩展标记语言)且遵循XML结构
规则的声明性标记语言。XAML文件是具有,xaml扩展名的XML文件,编码默认使用UTF-8。
2.声明XAML命名空间的目的是为了解决XAML标记和C#代码共享的问题。也就是说,
在XAML中声明的对象也可以用C#代码来访问,在C#代码中创建的对象也可以通过XAML树
来解析。

根元素和XAML命名空间

1.一个XAML文件(扩展名为.xaml)只能有一个根元素。
2.创建一个WPF应用程序后,从其中包含的MainWindow.xam的代码中可以看出,
XAML根元素包含了特性x:class和xmlns:x。
3.x:Class用于为代码隐藏类指定CLR命名空间和类型,即将XAML和代码隐藏有机地
结合起来。在WPF应用程序中,Window元素,Page元素和Application元素都必须包含
x:Class声明,否则无法在代码隐藏文件中用C#控制XAML文件中的对象元素。
4.xmlns的意思是XML namespace,该特性声明XAML默认的命名空间,目的是为了在该
文件中使用XAML标记时,不需要再对每个对象元素都用前缀来制定该元素所在的命名空间。

x:前缀编程构造

1.根元素的xmlns:x用于XAML命名空间映射,目的是为了通过x:前缀编程构造来声明
可被其他XAML和C#代码引用的对象。
2.x:Name通过特定子系统或FindName等方法,为运行时使用的XAML元素提供标识。

在XAML中映射自定义命名空间

1.除了默认的命名空间外,在实际开发中,我们还会经常使用自定义的对象(扩展名为.cs的
文件或者扩展名为.dll的文件)。如果要在XAML中引用这些对象,就必须在XAML中映射
自定义命名空间。
2.如果在项目中添加一个类,如在ch07解决方案的cs文件夹下添加一个文件名为MyClass.cs
的类,该文件中定义一个MyProperty属性:
public class MyClass{
	public string MyProperty{get;set;}
	public MyClass(){
	MyProperty = “Hello”;
}
}

要在TextWindow.xaml文件中引用MyClass中的属性,需满足两个条件:1️⃣MyClass类的
访问修饰符必须是public,2️⃣必须在根元素中为其制定一个XAML命名空间。例如:
	<Window x:Class="ch07.cs.TestWindow"
	……
	xmlns:c="clr-namespace:ch07.cs"
	……
	>	
	在这段代码中,xmlns:c中的c是自定义的前缀,也可以将其换成其他字符串,
	比如:xmlns:myCustom=“clr-namespace:ch7.cs”

XAML基本语法

XAML最基本的语法为:
<对象名 特征名1=“值1” 特征名2=“值2”……></对象名>
自封闭形式:
<对象名 特征名1=“值1” 特征名2=“值2”省略号/>

例如:
<StackPanel>
	<Button Content="确定"/>
</StackPanel>

1.对象元素语法:
对象是指类的实例,在XAML中用对象元素来描述。例如:
<Button Name="OkButton" Content="确定" />
这行XAML代码用于实例化Button类的一个新实例,Name特性指定Button实例的名称,
目的是为了在代码隐藏文件中引用该实例。Content特性指定在按钮上显示的文本。
2.特征语法
在XAML中,大多数情况下都是用特征(Attribute)来描述对象的属性(Property),
特征名和特征值之间用赋值号(=)分割,特性的值始终用包含在引号中的字符串来指定,
引号默认用双引号,也可以是单引号,。
<Button Background="Blue" Foreground="Red" Content="按钮1"/>
3.属性语法
4.集合语法
5.XAML内容属性
6.内容属性和集合语法组合
7.类型转换器
8.XAML中的空白字符处理

特别注意:
仅供参考学习,转载请附上原文链接
分享学习心得,如有侵权,望联系本人处理
还在读大学的程序员,项目经验少,如有纰漏,感谢指正
需要源代码请联系本人
谢谢配合

如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg

发布了48 篇原创文章 · 获赞 35 · 访问量 5001

猜你喜欢

转载自blog.csdn.net/qq_44749053/article/details/102969152