概要

  • WPF 框架是开源的,但是不能跨平台,可以使用MAUI,这个框架可以跨平台,WPF源码可以在github上下载,下载地址:https://gitbub.com/dotnet/wpf。
  • 框架结构
    • 如图
      WPF 界面结构化处理-LMLPHP

一、xaml界面结构化处理

  • XAML:eXtensible Application Markup Language的英文缩写,相应的中文名称为:可扩展应用程序标记语言。
  • 命名空间
    • 默认
    • 映射:x/d/mc
    • 代码如下
          <Window x:Class="WpfApp1.MainWindow"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:local="clr-namespace:WpfApp1"
              mc:Ignorable="d"
              Title="MainWindow" Height="450" Width="800"> 
          </Window>
      
  • xmal界面中的对象是一层包一层的,个人理解,类似于xml文档,主节点包括子节点,节点还有各种属性,以xaml中的Gride对象为例,代码如下:
      <Grid>
       //行
        <Grid.RowDefinitions> 
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        //列
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
      </Grid>
    

二、逻辑树与视觉树

  • 查看分析工具:Snoopy
  • 层级关系
    • 逻辑开发
    • 视觉呈现
    • 逻辑树通常是指我们在UI逻辑中涉及到的界面元素。而视觉树是指系统在显示UI过程中显示的所有元素,它暴露了视觉的实现细节。
08-14 08:29