Xamarin 表单和页面之间的导航

Posted

技术标签:

【中文标题】Xamarin 表单和页面之间的导航【英文标题】:Xamarin forms and navigation between pages 【发布时间】:2021-12-17 18:40:00 【问题描述】:

我刚刚创建了 2 个页面(MainPage 和 ScanningPage)。我想从 MainPage 导航到 ScanningPage。然后在扫描完成后,我想用scanner.barcode 值返回MainPage。有什么建议吗?

提前谢谢你

这是我从 MainPage 导航到 ScaningPage 的方式:

public partial class MainPage : ContentPage

    private string barcodeValue;
    private ScanningPage scanner = new ScanningPage();
    public MainPage()
    
        InitializeComponent();
        barcodeValue = "";
    

    async private void UrlButton_Clicked(object sender, EventArgs e)
    

        await Navigation.PushAsync(scanner);
        await Navigation.PopAsync();
        scannResultText.Text = scanner.barcode; 
    

扫描页面:

public partial class ScanningPage : ContentPage

    public string barcode = "";
    public ScanningPage()
    
        InitializeComponent();
    

    private void _scanView_OnScanResult(ZXing.Result result)
    
        Device.BeginInvokeOnMainThread(async () =>
        
            //await DisplayAlert("Scanned result", result.Text, "OK");
            barcode = result.Text;
        );
    

【问题讨论】:

您阅读过有关导航的文档吗? docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/… 我做了,但还是想不通。 也许我需要用 Tasks 来实现它? ScanningPage 需要在完成任何需要做的事情后调用PopAsync 【参考方案1】:

要导航到扫描页面,您可以使用:

Navigation.PushAsync(new ScanningPage());

完成扫描页面后,您可以调用以下命令返回原始页面:

Navigation.PopAsync();

【讨论】:

Filip:如果它解决了您的问题,请务必将其标记为已接受的答案。 (您可以通过单击答案左侧的复选框来做到这一点。)

以上是关于Xamarin 表单和页面之间的导航的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 表单导航和处理登录页面

在 Xamarin 表单的导航页面中添加 SearchBar

在返回导航中跳过 xamarin 表单中的页面

在 Xamarin.forms 中的多个页面之间导航?

使用 mvvm 在 xamarin 表单中的视图之间传递数据

从 Webview 导航到 xamarin 表单中的应用程序页面