首页 >> 大全

2000条你应知的WPF小姿势 基础篇22-27 WPF生命周期, 基础类等

2023-12-29 大全 27 作者:考证青年

原文:2000条你应知的WPF小姿势 基础篇

端午长假在家陪着女朋友, 幸福感满满,生活对于一只饱经忧患的程序猿来说也是非常重要的,也就暂时没有更新博客。休假结束,回归奋斗的日子了,开始继续更新WPF系列。

在正文开始之前需要介绍一个人:Sean . 来自明尼苏达双城的软件工程师。最为出色的是他维护了两个博客:2, You Know About C#和2,000 You Know 。他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识。他的博客也有一段日子了,很希望能够分享给大家。

本系列我不仅会翻译他的每一个tip,也会加入自己开发之中的看法和见解。本系列我希望自己也能和他一样坚持下来,每天的进步才能促成伟大。

在这里郑重说明.该系列是基于Sean 先生的英文博客, Sean 拥有全部版权和撤销权利。

前文:WPF,渲染, 矢量, 布局, 样式, 模板, 命令, xaml, page, 3d, , wpf, ,,

[小九的学堂,致力于以平凡的语言描述不平凡的技术。如要转载,请注明来源:小九的学堂。/]

#22

Class 继承自,是与用户交互的所有控件的基类。例如有:, Label, , and 。但有一些容器比如Panel和Grid并不是控件。

Class 扩展了,拥有如下延伸的功能:

1. 通过使用来更改空间的外观。

2. 支持更改字体,边框, 背景色等视觉元素。

#23 WPF项目的五种形态

使用WPF你可以开发如下五种形态的项目:

1. 独立的应用程序 - 在上运行的标准的窗口程序。

2. XAML 浏览器应用程序(XBAP) - 在浏览器上运行的基于Page的应用程序

3. 自定义控件库 - 继承自并对其改写,私人定制,封装成dll库。

4. 用户控件库 - 从派生创建的自定义控件,封装成dll库。

5. 基础类库 - 封装一般类为dll库。

#24 Class

class 呈现了一个在上运行的一个独立的wpf客户端应用程序。每个运行中的WPF应用程序都具有一个类的单例。

使用VS创建的WPF应用程序会在App.Xaml自动生成对象定义的应用程序:

<Application x:Class="WpfApplication9.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>

类负责:

1. 管理应用程序的生命周期(如Start和Close)

2. 管理窗口,资源以及各种项目的基础属性。

3. 命令行处理

4. 页面导航。

#25 Class

Class 在WPF中呈现了一个窗口。他派生自, 也就是说它只能有单一的子元素。它直接继承自,间接继承了, , , , and .

一个窗口在视觉的角度上拥有一个客户端区域(窗口内)和非客户端区域(标题栏,框架,最小/最大/关闭 按钮).它是跟用户交互的WPF独立程序的外壳。可以通过定制来实现不同的外观效果。

你可以通过启动,关闭,隐藏,显示等事件来管理一个的生命周期。

Xaml Code:

_基础姿势与技法攻略_最基础的姿势

<Window x:Class="WpfApplication9.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="MainWindow" Height="200" Width="250"><Grid><Label Content="I'm a WPF Window!" Height="28" HorizontalAlignment="Center" VerticalAlignment="Center" />Grid>
Window>

效果:

基础姿势与技法攻略_最基础的姿势_

#26 WPF生命周期

下图展现了WPF的生命周期以及其事件:

_最基础的姿势_基础姿势与技法攻略

相关触发的主要事件有:

1. -应用程序启动

2. Exit - 应用程序关闭。

3. - 应用程序获得焦点时触发,也就是成为前台程序。

4. - 应用程序失去焦点时,也就是不再是前台程序时。

5. - 当一个异常被抛出时,你可以选择处理或者是抛出该异常。

6. - 正在关闭时,无论是注销还是关机,都会触发该事件。你可以选择取消关机。

你可以通过重写On[]方法来添加对事件的处理, 如 。

#27 at and 窗口在创建和关闭时相继触发的事件

时会触发的事件有:

时触发的事件有:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了