2.XAML基础

简介: 2.XAML基础

一、创建项目

打开Visual Studio2022,首页点开“创建新项目(N)”,找到WPF应用程序,选择下一步。


28b57481d39d4926ad14c4be3118846c.png


依次输入“项目名称”,选择“位置”,输入“解决方案名称”和选择“框架”,点击“创建”,即可创建新项目。


二、XAML基础

进入项目中,点开MainWindow.xaml文件,基础规则如下:


3ab1180b7d69433c8702e8a69c5c0484.png


1.Loaded事件:

<Window x:Class="WpfApp.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:WpfApp"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
        <Grid Name="grid1">
        </Grid>
    </Window>
    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                this.Title = this.grid1.Name;
            }

运行效果图,名称由MainWindow变成grid1。

229436e652bc4af6a88f591dd69db781.png



2.复杂属性:

例如:Grid控件有一个Background属性,该属性允许提供用于绘制控件背景区域的画刷。代码如下:

    <Grid Name="grid1">
            <Grid.Background>
                <LinearGradientBrush>
                    <LinearGradientBrush.GradientStops>
                        <GradientStop Offset="0.00" Color="red"/>
                        <GradientStop Offset="0.50" Color="Yellow"/>
                        <GradientStop Offset="1.00" Color="BlueViolet"/>
                    </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
            </Grid.Background>
        </Grid>

运行效果图:

3c74b93d30134a56aa6bd2e2b0e70de0.png


以上内容也可以通过“属性”面板实现:

c350b216dde240ddabf66e02e5e43f7f.png


3.附加属性

按照下图设置:

ad807c6605844eb590e3598827b2fdec.png

06b02bfc62774931944f9b87b50d9189.png



然后依次在三个区域添加三个按钮,代码变成:

  <Grid Name="grid1">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.Background>
                <LinearGradientBrush>
                    <LinearGradientBrush.GradientStops>
                        <GradientStop Offset="0.00" Color="red"/>
                        <GradientStop Offset="0.50" Color="Yellow"/>
                        <GradientStop Offset="1.00" Color="BlueViolet"/>
                    </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
            </Grid.Background>
         <!--三个按钮-->
            <Button Content="Button1" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top"/>
            <Button Content="Button2" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top" Grid.Row="1" />
            <Button Content="Button3" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top" Grid.Row="2" />
        </Grid>

4.特殊字符或空白

特殊字符 字符实体
小于号(<) & lt;
大于号(>) & gt;
&符号(&) & amp;
引号(“) & quot;


三、事件


例如:Button控件提供了Click事件。代码如下:

    <Grid>
            <Button Width="200" Height="40" Click="Button_Click">按钮</Button>
        </Grid>
 private void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("您刚刚点击了按钮");
            }

097ad9820b8f43d5aa3be343a527f8b8.png


目录
相关文章
|
4月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库MySQL和PostgreSQL全解析:兼容性、性能、费用价格及稳定可靠性深度测评
阿里云PolarDB是Gartner连续6年认证的全球云数据库领导者,100%兼容MySQL/PostgreSQL/Oracle,交易性能提升6倍、分析性能提升400倍、TCO降低50%,支持HTAP、Serverless弹性与99.995%高可用,已服务富友支付、小鹏汽车等头部企业。
589 8
|
5月前
|
人工智能 编解码 网络协议
跨越数字边界:中国境内Vertex AI服务商技术方案深度解析
本文解析在中国大陆合规使用Google Vertex AI的三大核心技术:基于HTTP3/QUIC的传输优化、AST抽象语法树数据脱敏、异构协议网关集成。穿扬科技通过AIT-UDN加速网络、逻辑驻留架构与国密支持,实现低延迟、高安全、低成本的AI服务接入,助力企业平衡性能与合规。
|
12月前
|
人工智能 自然语言处理 算法
算法及模型合规:刻不容缓的企业行动指南
随着AI技术迅猛发展,算法与模型成为企业数字化转型的核心。然而,国家密集出台多项法规,如《人工智能生成合成内容标识办法》等,并开展“清朗·整治AI技术滥用”专项行动,标志着AI监管进入严格阶段。算法备案从“可选项”变为“必选项”,未合规可能面临罚款甚至刑事责任。同时,多地提供备案奖励政策,合规既是规避风险的需要,也是把握政策红利和市场信任的机遇。企业需系统规划合规工作,从被动应对转向主动引领,以适应AI时代的挑战与机遇。
|
缓存 JavaScript C++
计算属性及计算属性与methods的使用区别
本文解释了Vue.js中的计算属性(computed properties)的概念和使用方法,并与methods方法进行了对比。计算属性基于现有数据自动重新计算,具有缓存效果,适用于数据的处理和结果展示。而methods方法每次调用都会执行,适合处理业务逻辑。通过示例代码,展示了计算属性和methods方法的区别。
计算属性及计算属性与methods的使用区别
|
运维 负载均衡 网络协议
OSPF的主要特点与优势
OSPF的主要特点与优势
1427 0
|
机器学习/深度学习 人工智能 自然语言处理
深度探索人工智能中的自然语言处理技术#### 一、
【10月更文挑战第28天】 本文旨在深入剖析人工智能领域中的自然语言处理(NLP)技术,探讨其发展历程、核心算法、应用现状及未来趋势。通过详尽的技术解读与实例分析,揭示NLP在智能交互、信息检索、内容理解等方面的变革性作用,为读者提供一幅NLP技术的全景图。 #### 二、
864 1
|
SQL 分布式计算 Java
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
319 3
|
API 项目管理 数据安全/隐私保护
OpenStack创建和管理用户
【8月更文挑战第5天】
908 11
MATLAB实战 | APP设计
生成一个用于观察视点仰角和坐标轴着色方式对三维图形显示效果影响的App,界面如图1所示。界面右上部的列表框用于选择绘图数据、切换按钮组用于选择绘图方法,中间的旋钮用于设置视点方位角和仰角,右下部的分档旋钮用于设置坐标轴着色方式、跷板开关用于显示网格线。
909 7
MATLAB实战 | APP设计