.NET MAUI:桌面应用开发的五大新特性

.NET MAUI 桌面应用五大特性概述

上个月,微软发布了关于 .NET MAUI 桌面应用开发的博客文章,介绍了五大关键特性,旨在提升用户体验并充分利用桌面平台的硬件和操作系统。这些特性由 .NET 社区的首席项目经理 James Montemagno 详细阐述。

五大特性

  1. 多窗口支持
    .NET MAUI 框架的基础发生了重大变化,Window 现在作为内容显示的基础。Application 类中的 CreateWindow 方法允许创建新窗口。开发者可以通过内置 API 打开和关闭窗口,充分利用桌面或平板设备的大屏幕显示更多信息。

    var weatherDetails = new Window(new WeatherDetailsPage());
    Application.Current.OpenWindow(weatherDetails);
// 关闭特定窗口
Application.Current.CloseWindow(weatherDetails);

// 关闭活动窗口
Application.Current.CloseWindow(GetParentWindow());

微软提供了关于多窗口配置的文档

  1. 顶级菜单栏
    菜单栏是桌面应用的主要特性之一,.NET MAUI 简化了菜单栏的集成,仅需几行代码即可实现。此功能还允许 iPad 用户通过键盘访问菜单。
    每个 ContentPage 包含一个 MenuBarItems 集合,支持多级菜单,菜单项可以通过 XAML 或 C# 创建,并支持启用/禁用、子菜单、图标等功能。

    <ContentPage ...>
        <ContentPage.MenuBarItems>
            <MenuBarItem Text="File">
                <MenuFlyoutItem Text="Exit" Command="{Binding ExitCommand}" />
            </MenuBarItem>
        </ContentPage.MenuBarItems>
    </ContentPage>
  2. 上下文菜单
    上下文菜单在用户右键点击某个元素时提供更多选项,其 API 与菜单栏类似,但根据特定控件显示。菜单项可以绑定到 Command,支持图标、子菜单和分隔符。

    <Editor>
        <FlyoutBase.ContextFlyout>
            <MenuFlyout>
                <MenuFlyoutItem Text="Bold" Clicked="OnBoldClicked"/>
                <MenuFlyoutItem Text="Italics" Clicked="OnItalicsClicked"/>
                <MenuFlyoutItem Text="Underline" Clicked="OnUnderlineClicked"/>
            </MenuFlyout>
        </FlyoutBase.ContextFlyout>
    </Editor>
  3. 工具提示
    工具提示通过 ToolTipProperties.Text 附加属性为桌面用户提供额外的上下文信息,可以在 XAML 或代码中设置。
  4. 指针手势
    .NET MAUI 新增了针对鼠标指针的手势识别器,可以识别与控件交互时的指针事件,并提供指针相对于控件的位置信息,使开发者能够根据指针的移动执行特定操作。

总结

这些特性显著增强了 .NET MAUI 在桌面应用开发中的能力。开发者可以通过多窗口支持、菜单栏、上下文菜单、工具提示和指针手势等功能,创建更具交互性和用户体验的应用。更多详细信息可参考微软提供的官方文档

阅读 33
0 条评论