首页 > 解决方案 > 使用 pushasync xamarin 时的空白页

问题描述

你好吗?

我创建了一个继承 ZXingScannerPage 类的顶级 ContentPage 类,以便能够创建方法以更好地简化代码。其中有一个方法,该方法将 Label 和 ContentPage 作为参数来设置 Scanner 读取的数据。

       public String ScannResult { get; set; }
    }

    public class ScannerHelper : ZXingScannerPage
    {
        public  ScannerHelper() 
        {
            this.OnScanResult += (result) => {
                MessagingCenter.Send( new Message { ScannResult = result.Text }, "ScannResult");
                // Parar de escanear
                this.IsScanning = false;

                // Alert com o código escaneado
                Device.BeginInvokeOnMainThread(() => {
                    DisplayAlert("Código escaneado", result.Text, "OK");
                    Navigation.PopAsync(false);
                });
            };
        }

        public static void teste(Label label, ContentPage contentPage)
        {
            MessagingCenter.Subscribe<Message>(contentPage, "ScannResult", message => {
                label.Text = message.ScannResult;
            });
        }
    }
}

到目前为止一切正常,但是当我在按钮上调用此类并稍后运行它时,屏幕会获取数据并转到标签,但是当使用 PushAsync 转到另一个页面时,页面是空白的,如果我返回页面并尝试转到下一个页面它是空白的,如果我将手机上的应用程序留在手机上进入菜单并返回页面是正常的,那么最奇怪的是。示例:页面 A 调用扫描仪并工作,在页面 AI 上转到页面 B 并且它是空白的,我回到页面 A,然后我回到页面 A 之前的页面,然后我回到 A 到 A,现在它是白色的。

我如何在按钮和页面上使用方法的示例:

{
            InitializeComponent();
            ScannerHelper.teste(lblNomeProduto, this);
        }

        private void ButtonScanner(object sender, EventArgs e)
        {
            Navigation.PushAsync(new ScannerHelper());
        }

标签: c#xamarin

解决方案


推荐阅读