WPF 系列-01默认程序结构

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 系列-01默认程序结构相关的知识,希望对你有一定的参考价值。

WPF应用程序启动项

创建一个WPF应用程序,系统为我们自动生成了App.xaml和一个普通的MainWindow.xaml窗体文件。

App.xaml 和cs 文件文件如下:

<Application x:Class="Example_01.App"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:local="clr-namespace:Example_01"
   StartupUri="MainWindow.xaml">
  <Application.Resources></Application.Resources>
</Application>
public partial class App : Application

Application的StartupUri属性: 当Application启动时,会获取StartupUri属性指向的UI并展示。像Winform和Asp.Net Core 应用程序启动都Main方法,这里并没有找到程序入口点Main方法,这是因为WPF框架自动替我们执行Main方法,我们打开obj文件夹下的debug文件夹,我们发现App.g.cs 文件:

看到这个文件我相信大家都应该了解WPF应用程序是如何启动    

Application 类是应用程序的一个实例,是单例模式,在整个应用程序域内只有一个实例,可以通过 App.Current属性来获取到该实例。Application有几个比较重要的事件我们做一下介绍:

  • Startup 事件:应用程序启动时触发

  • Activated 事件:应用程序窗体激活时触发

  • Deactivated 事件:应用程序窗体从激活状态变为非激活触发

  • Exit事件:应用程序退出时触发

Activated和Deactivated演示:

标签化语言

wpf的窗体是使用xaml标签来定义对象的, 顶级标签<Window></Window>定义了Window对象, <Grid></Grid> 定义了一个网格布局对象,<Button></Button>定义了一个Button对象,我们也可以在标签内定义属性以及事件。xmlns和xmlns:x和xmlns:d和xmlns:mc 都是XAML命名空间,和C# namespace 相似。

xmlns 命名空间 : 在XAML中没有使用前缀的元素定义都来自于该命名空间,例如<Window></Window> <Grid></Grid><Button></Button>

xmlns:x 命名空间:x:Class 指令引用的改命名空间,表示XAML解析器将包含的标签解析后放到哪个C#类中。

xmlns:d 命名空间表示提供一些设计器的支持,mc:Ignorable="d" 指令表示在xaml设计器中生效,在运行时并不起作用。

xmlns:local 应用自定义类型

xmlns:d 命名空间表示提供一些设计器的支持

通过这篇文章我们对WPF启动项、以及标签语言有了个简单的认识,下一节我们将WPF常用布局系统

以上是关于WPF 系列-01默认程序结构的主要内容,如果未能解决你的问题,请参考以下文章

Powershell管理系列(三十六)PowerShell操作之统计域内计算机硬件资产

Powershell管理系列(三十六)PowerShell操作之统计域内计算机硬件资产

Powershell管理系列(三十六)PowerShell操作之统计域内计算机硬件资产

Powershell管理系列(三十六)PowerShell操作之统计域内计算机硬件资产

01Prism WPF 入门实战 - 项目准备

Powershell管理系列(三十七)PowerShell操作之统计域内计算机硬件资产