首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >1.初识WPF

1.初识WPF

作者头像
步步为营DotNet
发布2026-06-17 08:53:44
发布2026-06-17 08:53:44
700
举报
代码语言:javascript
复制
<!--这些都是Window的Attribute-->
<Window x:Class="WpfApp2.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:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">      <!--和Window对象的属性相对应-->
    <Grid>

    </Grid>
</Window>

XAML语言使用xmlns来定义名称空间xmlns[:可选的映射前缀(名称空间别名)]="名称空间"。没有映射前缀的名称空间为默认名称空间,只能有一个,应把最常用的名称空间设置为默认名称空间。

上面案例中,<Window><Grid>都是来自默认的名称空间,第一行中x:Class则来自第三行中x前缀对应的名称空间。

案例:如果把第二行中的xmlns改为xmlns:n则需要将代码改为这样才行

代码语言:javascript
复制
<n:Window x:Class="WpfApp2.MainWindow"
        xmlns:n="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        ...
    <n:Grid>

    <n:/Grid>
<n:/Window>

XAML引用外来程序集: 1.添加对程序集的应用(与winform一样)2.在根元素起始标签上增加xmlns:x="clr-namespase:System.Windows.Controls; assembly=PresentationFramework"(这类似于C#使用using引用名称空间)

案例中默认引入的像链接一样的东西其实是XAML解析器的硬编码,代表着引入一系列程序集。winfx/2006/xaml/presentation对应绘制UI的程序集,winfx/2006/xaml对应着跟XAML编译有关的程序集。

x:Class="WpfApp2.MainWindow"x:说明该Attribute来自于x映射的命名空间。Class的作用是XAML解析器将标签解析成C#类后,这个类的类名是什么。

APP.xaml中StartupUri="MainWindow.xaml"表示启动窗体为MainWindow窗体。

思考

MainWindow.xaml中x:Class后面指定的类名和Mainwindow.xaml.cs中的类名是什么关系呢?

其实如果x:Class后面的类名和Mainwindow.xaml.cs不同,且将Mainwindow.xaml.cs中的InitializeComponent();注释掉,程序也可以展现出MainWindow.xaml设计的界面,因为APP.xaml中指定了StartupUri="MainWindow.xaml",只要是MainWindow.xaml是一个可执行的界面就可以运行展示。但不建议这样做的原因是如果两个类名不同,则在Mainwindow.xaml.cs中就不能使用xaml中所定义的组件(因为不是一个类),这样就不能实现前后端分离的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档