• MAUI 入门教程系列(5.XAML及页面介绍)


    视频地址

    点击观看

    前言

    作为微软的UI框架,除了Winform以外,多数是以创建XAML文件的方式来编写前端的页面,尽管你也可以通过C#代码来编写你的用户界面,与Xamarin.Forms相同,在MAUI上编写XAML的声明方式与其相同,重构了底层部分但又大部分继承了原有的模式。

    相比较其他的XAML声明的UI框架,如:WPF、UWP、UnoPlatform、Avalonia 它们的声明方式则各有不同。

    XAML介绍

    在MAUI中,创建一个XAML页面, 主要包含两个部分: XAML文件+CS文件。

    • XAML
    <ContentPage
        x:Class="MauiApp5.MainPage"
        xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
        <!--    -->
    </ContentPage>
    

    x:Class : 代表XAML文件指向的 partial 类, XAML负责UI设计, CS类负责编写业务逻辑。
    xmlns : 全名xamlnamespace, 代表声明XAML命名空间
    xmlns:x="..." : 带别名的命名xml空间, 通过别名可以访问该命名空间下的对象(可访问)

    问题1: 带别名的命名空间与不带别名的命名空间有何区别?

    首先,对于一个XAML文件而言,只能存在一个不带别名的命名空间,这样可以不用带别名去访问该命名空间下的对象,默认情况下,我们可以使用框架提供的各种UI对象,这是默认的,我们不需要显示通过别名去访问这些对象,对于我们自定义的命名空间,则可以通过别名去访问。

    • 默认命名空间下访问对象
        <Grid>
            <StackLayout>
                <Button/> 
                <Label/>
                <Image/>
            </StackLayout>
        </Grid>
    
    • 声明别名的方式去访问对象
    <m:ContentPage
        x:Class="MauiApp5.MainPage"
        xmlns:m="http://schemas.microsoft.com/dotnet/2021/maui"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
        <m:Grid>
            <m:StackLayout>
                <m:Button/>
                <m:Label/>
                <m:Image/>
            </m:StackLayout>
        </m:Grid>
    </m:ContentPage>
    

    问题2: x:Class 指向的部分类有何要求?

    CS partial 类与XAML 是同一个类,只是负责的工作不同。 XAML 通常比等效代码更简洁且可读,而C#代码则可以处理复杂的条件判断、逻辑处理。确保的是,该部分类需要和XAML的基类相同。

    • CS
    public partial class MainPage : ContentPage
    { 
        public MainPage()
        {
            InitializeComponent(); 
        } 
    }
    

    页面介绍

    MAUI框架内置了4种页面类型, 以满足不同的应用场景, 如下:

    • ContentPage
      内容页,通常用于定义页面的视觉布局、嵌套显示子元素等
    • FlyoutPage
      包含了一个显示项的浮出控件页和一个详细信息页, 封装了用于侧面导航以及操作的功能
    • NavigationPage
      提供了用于向前后导航的页面

    • TabbedPage
      提供选项卡切换式的页面,在移动设备中很常见。

    以上这些页面类型, 它们都是直接或者间接继承于Page类, 各自实现了一些功能。

    总结

    本文主要介绍了MAUI中XAML的文件类说明以及提供的几种页面类型,后面的文章中会主要介绍XAML中的具体布局以及方法。

  • 相关阅读:
    c编写程序完成m名旅客和n辆汽车的同步程序代写
    [原]web服务器:SOAP,WSDL,UDDI
    用多进程同步方法演示“桔子-苹果”问题
    实验教学管理系统 c语言程序代写源码下载
    模拟游客一天的生活与旅游java程序代写源码
    Java作业代写
    快餐店运行模拟C++程序源码代写
    求可能组合VB源码代写
    深入源码分析Java线程池的实现原理
    ThreadLocal原理详解
  • 原文地址:https://www.cnblogs.com/zh7791/p/16436762.html
Copyright © 2020-2023  润新知