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

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

原创
作者头像
愚公搬代码
修改2023-09-30 21:56:03
修改2023-09-30 21:56:03
42600
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。 🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 🏆🎉欢迎 👍点赞✍评论⭐收藏

前言

WPF(Windows Presentation Foundation)是微软推出的一种基于.net框架的图形用户界面技术,它使用XAML(eXtensible Application Markup Language)作为UI的描述语言。XAML是一种基于XML的标记语言,用于描述WPF应用程序的用户界面、控件、布局、样式和数据绑定。XAML可以将UI元素和代码分离,使得设计人员和开发人员能够分别负责UI和逻辑的开发,从而提高开发效率。

XAML可以描述各种UI元素,包括窗口、按钮、文本框、列表框、菜单等,同时还可以定义这些元素的样式、布局和动画效果。XAML还支持数据绑定,可以将UI元素和数据模型关联起来,使得UI能够自动更新数据。

在WPF中,XAML被用来构建UI,它可以和C#、VB.NET等编程语言混合使用。开发人员可以使用XAML定义UI元素和布局,然后通过编写代码来处理界面逻辑和数据操作。由于XAML是基于XML的文本文件,因此可以轻松地进行版本控制和协作开发。

XAML是WPF应用程序的核心语言,掌握XAML是WPF开发人员必备的技能之一。

一、XAML定义

XAML(可扩展应用程序标记语言)是一种使用XML语法描述UI元素和应用程序逻辑的语言,通常用于开发.NET框架下的WPF(Windows Presentation Foundation)和UWP(Universal Windows Platform)应用程序。XAML可将UI设计与应用程序逻辑分离,使开发人员和设计人员可以独立工作,提高了团队协作的效率。通过编写XAML代码,开发人员可以定义UI元素(如按钮、文本框、菜单等),管理布局和样式,以及编写应用程序逻辑(如事件处理程序、数据绑定等)。 XAML还支持使用数据绑定、样式模板、动画等高级特性,为应用程序提供更丰富的交互和用户体验。

二、特点

XAML的特点和优势包括:

  1. 分离UI设计和应用程序逻辑:XAML将UI设计与代码逻辑分离,开发人员和设计人员可以独立工作,提高了团队协作的效率。
  2. 语法简洁:XAML使用XML语法描述UI元素和应用程序逻辑,语法简洁易懂,降低了学习成本。
  3. 可读性高:XAML代码结构清晰,易于维护和修改,增强了代码可读性。
  4. 跨平台:XAML可用于WPF和UWP等.NET框架下的应用程序开发,支持跨平台开发。
  5. 支持数据绑定:XAML支持数据绑定,可以将UI元素与数据模型关联,自动更新UI界面。
  6. 支持样式模板:XAML支持样式模板,可以定义统一的UI样式和外观,提高了应用程序的一致性和美观度。
  7. 支持动画效果:XAML支持动画效果,增强了应用程序的交互性和用户体验。
  8. 支持自定义控件和布局:XAML支持自定义控件和布局,可以根据需求个性化定制UI元素和布局。

三、命名空间

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

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

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

默认的命名空间

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

xaml语法和编译相关的clr命名空间

区分:如果应用时,不带前缀,就来自于默认的命名空间,否则,就来自于带前缀的命名空间。

xaml命名空间

代码语言:javascript
代码运行次数:0
运行
复制
xmlns[:前缀名]="命名空间描述";

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

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

四、XAML样例

1.代码

代码语言:html
复制
<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.运行结果

在这里插入图片描述
在这里插入图片描述

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

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