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

举报
愚公搬代码 发表于 2022/01/30 21:33:56 2022/01/30
【摘要】 WPF(Windows Presentation Foundation)是微软推出的一种基于.net框架的图形用户界面技术,它使用XAML(eXtensible Application Markup Language)作为UI的描述语言。XAML是一种基于XML的标记语言,用于描述WPF应用程序的用户界面、控件、布局、样式和数据绑定。XAML可以将UI元素和代码分离,使得设计人员和开发人员能够分别

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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解析器标准)

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 

默认的命名空间

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  

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

xaml命名空间

xmlns[:前缀名]="命名空间描述";

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

xmlns[:必选前缀]="clr-namespace:[命名空间];assembly=[程序集名称]"

🚀四、XAML样例

🔎1.代码

<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.运行结果

在这里插入图片描述


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。