关于MAUI候选版本3发布

科技资讯 投稿 42400 0 评论

关于MAUI候选版本3发布

有关将Xamarin 库迁移到.NET 6 和.NET MAUI 的指导,请查看 Xamarin 博客上的这些提示

专注于导航

FlyoutPage、 TabbedPage 和 NavigationPage。


Shell Base Controls
Flyout Yes Yes
Tabs Yes Yes
Navigation URI Based Push/Pop
Passing Data URI Based View Models
Template-able Yes No

模板项目包含一个带有单个页面的"AppShell.xaml",它被分配给了App.MainPage,为了更好的看到Flyout控件的效果,并简单的添加更多的页面,只需开启flyout通过更改.App.MainPageShell.FlyoutBehavior

<Shell
    x:Class="MauiApp2.AppShell"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:MauiApp2"
    Shell.FlyoutBehavior="Flyout">

    <ShellContent
        Title="Home"
        ContentTemplate="{DataTemplate local:MainPage}"
        Route="MainPage" />

    <ShellContent
        Title="Items"
        ContentTemplate="{DataTemplate local:ItemsPage}"
        Route="ItemsPage" />

</Shell>
<FlyoutItem Title="Home" FlyoutIcon="home.png">
    <ShellContent ...>
</FlyoutItem>

<FlyoutItem Title="Items" FlyoutIcon="store.png">
    <ShellContent ...>
</FlyoutItem>

Shell 支持Flyout控件的许多自定义,包括设置背景样式、覆盖内容的背景、模板页眉、页脚、整个内容或仅菜单项。您还可以设置弹出按钮的宽度并使其保持打开或完全隐藏。以下是一些不同设计的示例:

有关自定义flyout的更多信息,请查看Shell Flyout文档。

// declare a new route
Routing.RegisterRoute(nameof(SettingsPage, typeof(SettingsPage;

// execute a route
await Shell.Current.GoToAsync(nameof(SettingsPage;

// execute a route passing data
await Shell.Current.GoToAsync($"{nameof(SettingsPage}?setting=appearance";

// receive querystring value
[QueryProperty(nameof(SelectedSubSection, "setting"]
public partial class TipsPage : ContentPage
{
    ...
    public string SelectedSubSection { get;set;}
    ...
}

除了参数之外,您还可以通过.NET MAUI 引入的新API 传递复杂的数据对象:

// execute a route passing full object
var person = new Person { Name="James" };
await Shell.Current.GoToAsync("DetailsPage", new Dictionary<string, object>
{
    { "person", person }
};

// received the object
[QueryProperty(nameof(Person, "person"]
public partial class DetailsPage : ContentPage
{
    Person person;
    public Person Person
    {
        get => person;
        set => person = value;
    }
}

查看.NET MAUI Workshop以获取更多示例。

有关使用Shell 导航的更多信息,请查看Shell 文档。

从今天开始

Visual Studio 2022 预览版或将其更新到版本17.3 预览版1。在安装程序中,确认在"使用.NET 进行移动开发"工作负载下选中了.NET MAUI(预览版)。

命令行说明进行操作。Visual Studio 2022 for Mac 中对.NET MAUI 的支持将在未来的预览版中正式发布。

Release Candidate 3发行说明位于 GitHub 上。有关.NET MAUI 入门的更多信息,请参阅我们的文档和迁移提示表,了解升级项目时要采用的更改列表。

关于Xamarin 支持的提醒
Xamarin 支持政策仍然有效,该政策指明在初始发布后的2 年内微软会继续支持涵盖这些产品。最后一次发布是在2021 年11 月,因此支持将持续到2023 年11 月。

我们需要您的反馈

简单指南安装适用于Windows 的Visual Studio 2022 的最新预览版(17.3 预览版1),并立即构建您的第一个多平台应用程序。

dotnet/maui 提交报告。

编程笔记 » 关于MAUI候选版本3发布

赞同 (65) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽