我创建了一个DotNet Maui应用程序.对于某些页面,需要禁用Android的后退按钮.

我找到了这个article ,但它只在主页上起到了作用. 有什么办法可以禁用它吗?

这是页面XAML文件:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="UI.Pages.ScreenPlacementSelectingPage"
             Shell.NavBarIsVisible="false"
             Title="">

    <Shell.BackButtonBehavior>
        <BackButtonBehavior IsEnabled="False">
        </BackButtonBehavior>
    </Shell.BackButtonBehavior>

    <Grid x:Name="AbsolutLayout"
          VerticalOptions="Center"
          HorizontalOptions="Center"
    >
        <Image
            x:Name="UIbackground"
            Aspect="Fill"
            Source="uibackground.png"
        />

        <Grid x:Name="gridLayout"
              RowDefinitions="*,Auto,Auto,*"
              ColumnDefinitions="*,Auto,Auto,*"
        >
        </Grid>

    </Grid>
</ContentPage>

推荐答案

如果只是为了禁用后退按钮,您可以覆盖该页面上的OnBackButtonPressed.

protected override bool OnBackButtonPressed()
{
    // Return true to prevent back button 
    return true;
}

Csharp相关问答推荐

Blazor:计算值或保留为默认值

EF Core:看不到任何查询日志(log)?

子组件:如何根据另一个组件的状态启用输入

将修剪声明放入LINQ中

MongoDB将JS查询转换为C#的问题

HttpContext. RequestAborted当Android APP失go 连接时未取消

如何在C#中从正则表达式中匹配一些数字但排除一些常量(也是数字)

我的MRG32k3a算法实现返回的数字超出了预期的[0,1]范围

如果设置了另一个属性,则Newtonsoft JSON忽略属性

当试图限制EF Select 的列时,如何避免重复代码?

如何在不复制或使用输出的情况下定义项目依赖

有条件地定义预处理器指令常量

当try 测试具有协变返回类型的抽象属性时,类似功能引发System.ArgumentException

如何使用Npgsql从SELECT获得所有查询结果

如何强制新设置在Unity中工作?

RCL在毛伊岛应用程序和Blazor服务器应用程序.Net 8.0中使用页面

在构造函数中传递C#函数以用作EventHandler委托的订阅服务器

Foreach非常慢的C#

使用免费的DotNet库从Azure函数向Azure文件共享上的现有Excel文件追加行

MudRadioGroup不切换