首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xamarin表单- UWP后退按钮?

Xamarin表单是一种跨平台移动应用开发框架,它允许开发人员使用C#语言和.NET平台来构建iOS、Android和Windows应用程序。UWP(Universal Windows Platform)是一种用于开发Windows应用程序的统一平台,它可以在各种Windows设备上运行。

在Xamarin表单中,如果需要实现UWP应用程序中的后退按钮功能,可以通过以下步骤来实现:

  1. 在Xamarin.Forms项目的App.xaml.cs文件中,找到App类的构造函数。
  2. 在构造函数中,使用以下代码注册后退按钮事件:
代码语言:csharp
复制
public App()
{
    InitializeComponent();
    MainPage = new NavigationPage(new MainPage());
    MainPage.SetValue(NavigationPage.BackButtonTitleProperty, ""); // 隐藏后退按钮的标题
    MainPage.SetValue(NavigationPage.HasBackButtonProperty, true); // 显示后退按钮
    MainPage.PropertyChanged += MainPage_PropertyChanged;
}

private void MainPage_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
    if (e.PropertyName == "CurrentPage")
    {
        var navigationPage = (NavigationPage)sender;
        var currentPage = navigationPage.CurrentPage;

        if (currentPage != null && navigationPage.Navigation.NavigationStack.Count > 1)
        {
            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
        }
        else
        {
            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
            SystemNavigationManager.GetForCurrentView().BackRequested -= OnBackRequested;
        }
    }
}

private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
    var navigationPage = (NavigationPage)MainPage;
    if (navigationPage.Navigation.NavigationStack.Count > 1)
    {
        navigationPage.Navigation.PopAsync();
        e.Handled = true;
    }
}

上述代码中,我们通过监听MainPage的属性变化来判断是否需要显示后退按钮。当导航堆栈中的页面数量大于1时,显示后退按钮,并注册后退按钮事件。当后退按钮被点击时,执行PopAsync方法来返回上一个页面。

这样,我们就实现了在Xamarin表单中UWP应用程序中的后退按钮功能。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Xamarin.Forms 按钮样式 圆角按钮

Xamarin 中可以通过 CornerRadius 设置按钮使用圆角 在 Xamarin 中可以方便进行样式定义或不进行定义样式只修改属性而改变外观,如按钮的圆角可以通过 CornerRadius...属性设置 按钮使用圆角时,如果更改边框的颜色建议同时更改边框的宽度和边框颜色,在不同的平台下默认的样式不相同的,如果想要保持各个平台统一的外观,虽然这样不是好主意,那么请设置固定的值,而不是采用默认值...因为在 UWP 中 BorderWidth 是 2 而在 Android 中是 0 也就是此时如果干掉了背景颜色,将看不到按钮的圆角 ?...设置按钮背景透明可以通过设置 BackgroundColor 为 Transparent 属性 如果需要让按钮点击时呈现有趣的效果,可以通过 VisualStateManager 的方式定义.../VisualStateManager.VisualStateGroups> 这个项目所有代码放在 github 欢迎小伙伴访问 另外推荐小伙伴的系列博客:Xamarin

3.2K20
  • 【HTML】HTML 表单 ② ( 按钮表单 | 普通按钮 | 提交按钮 | 重置按钮 | 图片按钮 | 文件域 )

    文章目录 一、按钮表单 1、普通按钮 2、提交按钮 3、重置按钮 4、图片按钮 二、文件域 一、按钮表单 ---- 1、普通按钮 将 标签 的 type 属性设置为 button..., 就可以将该 表单组件 设置为 普通按钮 类型表单 ; 通过 value 属性 可以设置 该 普通按钮 显示的 文本内容 ; 完整代码示例..."> 小时效果 : 2、提交按钮 将 标签 的 type 属性设置为 submit , 就可以将该 表单组件 设置为 提交按钮 类型表单...将 标签 的 type 属性设置为 reset , 就可以将该 表单组件 设置为 重置按钮 类型表单 ; 提交按钮 默认显示的文本信息是 " 重置 " , 通过 value 属性...image , 就可以将该 表单组件 设置为 图片按钮 类型表单 ; 图片按钮需要设置 src 属性 , 设置一个 图片文件的 绝对或者相对路径 ; <input type="image" src="

    8.1K40

    win10 UWP 标题栏后退

    本文告诉大家如何在 UWP 标题栏添加后退按钮 设置里,标题栏有后退按钮,请看下图 ?...在win平板,可以有后退键,手机也有,但是手机的是物理的,平板的和 PC 的后退是在标题栏做的 如果需要在标题栏显示后退按钮,需要使用下面代码 Windows.UI.Core.SystemNavigationManager.GetForCurrentView...在用户点击标题栏的后退按钮的时候,可以通过下面代码拿到事件 Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested...BackRequested 后退方法,如何获得参见:c# 设计模式 责任链.md 注意不要在每个页面的构造都使用添加事件,如果这样子,那么就会出现按一下后退出现你想不到的异常。...Microsoft/Windows-universal-samples ---- 本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/win10-UWP

    81620

    JavaScript禁用浏览器后退按钮

    这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后退按钮永远不会变为可用。我想这可能正是许多人所寻求的方法,但这种方法仍旧不是任何情况下的最好方法。...3、当键盘敲下后退键(Backspace)后 1、禁止浏览器自动后退 2、但不影响密码、单行文本、多行文本输入框等的回退操作 代码如下: ...“后退按钮作出的反应,客户端浏览器需要打开JavaScript代码。...} Logout 这种方法比较偷懒,关掉浏览器再重新开,经过我的测试在视觉上几乎感觉不出来延时,同时又保证了后退按钮不可用...(新窗口浏览器后退按钮为灰色),看起来似乎是个好方法,但缺点也比较明显: 首先,关闭和重开的浏览器窗口大小可能不同,用户可以明显看出这一过程,并且在一定程度上影响操作。

    1.9K30

    C# 设计模式 责任链 后退按钮使用责任链

    Request(str); } } 后退按钮使用责任链 我看到堆栈炸了有人问我,为什么一按后退就炸。...我看了他的源代码,他每个页面都把后退按钮点击事件+=他的方法。 我们可以使用UWP后退按钮,但是需要小心,在哪些处理需要知道,不可以在每个需要处理都添加事件。...那么如何添加后退按钮,才可以在需要后退的时候进行后退,可以用到上面说的设计,添加一个链,需要做一个类,如果直接写,看起来比较难。...接下来就是需要返回的按钮,参见win10 UWP 标题栏后退 protected override void OnNavigatedTo(NavigationEventArgs e)...在我之前写的游戏win10 uwp 商业游戏进入游戏时,用户按下返回按钮,需要返回欢迎界面,那么这时候就需要添加后退的处理。

    91910

    win10 uwp 简单MasterDetail UWP 导航List点击后退按钮页面更改大小修改显示修改我代码源码左右的列表和内容的相互操作

    https://msdn.microsoft.com/windows/uwp/controls-and-patterns/master-details 国内晓迪文章很好,但是文章对我渣渣很难知道如何做。...UWP 导航 Content是一个Frame和一个Image的Grid <Grid Grid.Column="{x:Bind View.GridInt,Mode=OneWay}"...Narrow(); } 我们拿到点击传给Frame,在ViewModel,把Frame叫Detail 因为点击所以我们的Frame有内容 HasFrame=true; 后退按钮...然后在按后退按钮,就把我们的hasFrame=false; 大概我们就把一个页面做好,Detail就显示我们点击传的str 我们需要手机按后退也是 Windows.Phone.UI.Input.HardwareButtons.BackPressed...如果看不懂我上面说的,可以看我代码https://github.com/lindexi/UWP/tree/master/uwp/src/DetailMaster 我们开始的大屏幕是使用Grid有分开,左边列表

    1.9K00

    win10 uwp 处理用户点击关闭按钮

    UWP 开发的时候,我做的文档软件需要在文档还没有保存的时候,用户点击关闭按钮的时候告诉用户需要保存。...如何在 UWP 阻止用户点击关闭按钮退出软件,如何知道用户点击了关闭按钮UWP 中有限制的功能,需要在 Package.appxmanifest 中开启,关于限制的功能请看App capability...Package.appxmanifest 添加 confirmAppClose 功能 添加方法是点击 Package.appxmanifest 右击点查看代码 找到现有的 Capabilities 元素,默认一个空的 UWP...Windows.UI.Core.Preview.SystemNavigationManagerPreview.GetForCurrentView().CloseRequested += MainPage_CloseRequested; 在 MainPage_CloseRequested 触发的时候就是用户点击关闭按钮...deferral = e.GetDeferral(); var messageDialog = new MessageDialog("欢迎访问 blog.lindexi.com 大量 UWP

    88110

    Visual Studio 2017 15.7 下的.NET Core

    Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin、Android和iOS项目的支持上也做了较大改进。...NET Core项目时, 支持 IntelliTrace 的后退调试功能。 我们添加了对异常进行快照的 IntelliTrace 支持。...Xamarin 的 Visual Studio 工具可以自动安装缺少的 android API 级别, Xamarin. android 项目。 Xamarin....我们在Visual Studio 生成工具中添加了对 Azure、UWP 和其他项目类型的支持。 您可以在不安装所有 Visual Studio的情况下创建生成服务器....我们增加了对所有 UWP 应用程序的可视化状态管理的支持。 我们为sideloaded APPX 程序包启用了自动更新. 您有用于迁移到 NuGet PackageReference的新工具.

    3K50

    Visual Studio 2017 15.7 下的.NET Core

    Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin、Android和iOS项目的支持上也做了较大改进。...NET Core项目时, 支持 IntelliTrace 的后退调试功能。 我们添加了对异常进行快照的 IntelliTrace 支持。...Xamarin 的 Visual Studio 工具可以自动安装缺少的 android API 级别, Xamarin. android 项目。 Xamarin....我们在Visual Studio 生成工具中添加了对 Azure、UWP 和其他项目类型的支持。 您可以在不安装所有 Visual Studio的情况下创建生成服务器....我们增加了对所有 UWP 应用程序的可视化状态管理的支持。 我们为sideloaded APPX 程序包启用了自动更新. 您有用于迁移到 NuGet PackageReference的新工具.

    3.2K80

    关于bootstrap--表单按钮效果、大小、禁用) 以及 自定义按钮

    关于bootstrap--表单按钮效果、大小、禁用) 1、上图各种标签实现按钮效果: button...Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮。...2、各种按钮效果: 3、各种按钮的大小: 3、按钮禁用效果: 方法1:在标签中添加disabled属性: × Bootstrap如何自定义按钮 bootstrap 按钮在开发中很方便。...直接定义btn btn-xxx就可以自己生成自己需要的按钮,但是在实际开发里bootstrap提供的几组按钮不能满足我们我们所有的要求,一般公司网站的不同会有对应的主题色。

    2.4K30
    领券