前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2022年10月 WPF控件专题XAML介绍

【愚公系列】2022年10月 WPF控件专题XAML介绍

作者头像
愚公搬代码
发布2022-12-01 10:23:31
3580
发布2022-12-01 10:23:31
举报
文章被收录于专栏:历史专栏

文章目录


前言

XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码和配置等。

WPF程序可能同时包含程序代码和 XAML。我们可以使用XAML定义应用程序的初始界面,而后才编写相应的功能实现代码。我们可以将逻辑代码直接嵌入到一个XAML文件中,也可以将它保留在一个单独的文件中。XAML可以理解为前端。

一、XAML定义

为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供一种便于扩展和定位的语法来定义和程序业务逻辑分离的用户界面。

二、特点

  1. 定义应用程序的界面元素
  2. 显式声明WPF资源(样式、模板、动画 等)
  3. 可扩展性(UI控件)
  4. 集中关注界面设计

三、命名空间

xaml与.net程序语言一样,也是通过命名空间有效组织xaml内部的相关元素类,不一样,

命名空间,像网址,(打不开) ,规则(xaml解析器标准)

代码语言:javascript
复制
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 

默认的命名空间

代码语言:javascript
复制
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  

xaml语法和编译相关的clr命名空间 区分:如果应用时,不带前缀,就来自于默认的命名空间,否则,就来自于带前缀的命名空间。

xaml命名空间

代码语言:javascript
复制
xmlns[:前缀名]=“命名空间描述”;

自定义类或程序集映射语法

代码语言:javascript
复制
xmlns[:必选前缀]="clr-namespace:[命名空间];assembly=[程序集名称]"

四、XAML样例

1.代码

代码语言:javascript
复制
<Window x:Class="MyXaml.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MyXaml" Height="150" Width="300"  >
    <Grid>
        <Grid.RowDefinitions>
        <RowDefinition Height="30"/>
        <RowDefinition Height="30"/>
        <RowDefinition Height="30"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold" Text="姓名:" Width="30"/>
        <TextBlock Grid.Column="0" Grid.Row="1" FontWeight="Bold" Width="30">性别:</TextBlock>
        <TextBlock Grid.Column="0" Grid.Row="2" FontWeight="Bold" Width="30" Text="年龄"></TextBlock>
        <TextBox Grid.Column="1" Grid.Row="0" FontWeight="Bold" Width="100" />
        <TextBox Grid.Column="1" Grid.Row="1" FontWeight="Bold" Width="100"/>
        <TextBox Grid.Column="1" Grid.Row="2" FontWeight="Bold" Width="100"/>
    </Grid>
</Window>```

## 2.运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/010bec345d4746e8acb62adf7b4d38f1.png)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、XAML定义
  • 二、特点
  • 三、命名空间
  • 四、XAML样例
    • 1.代码
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档