C# zxing手电筒未在UI上显示

C# zxing手电筒未在UI上显示,c#,xamarin.forms,zxing,C#,Xamarin.forms,Zxing,我正在以Xamarin的形式在我的PCL中使用Zxing条形码扫描仪。问题是UI上未显示手电筒开/关选项。这对于我向用户提供此选项非常重要 zxing = new ZXingScannerView { VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions

我正在以Xamarin的形式在我的PCL中使用Zxing条形码扫描仪。问题是UI上未显示手电筒开/关选项。这对于我向用户提供此选项非常重要

           zxing = new ZXingScannerView
                {
                    VerticalOptions = LayoutOptions.CenterAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    HeightRequest = 400,
                    AutomationId = "zxingScannerView",
                    IsTorchOn = true,


                };

                string _BarCode = "";
                int _CountItems = 0;
                int _scannedItem = 0;
                zxing.OnScanResult += (result) =>
                    Device.BeginInvokeOnMainThread(async () =>
                    {
                 // doing something that i want with scan result

                });
                overlay = new ZXingDefaultOverlay
                  {

                   ShowFlashButton = true,
                    AutomationId = "zxingDefaultOverlay",

                };
                overlay.HeightRequest = 2;
                overlay.BindingContext = this;
                overlay.FlashButtonClicked += (sender, e) =>
                {
                    zxing.IsTorchOn = !zxing.IsTorchOn;
                };
在Assambly信息中,我已经添加了这行代码

[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
你能告诉我我在代码中犯了什么错误吗。感谢您在扫描按钮中提供意见和建议

       var overlay = new ZXingDefaultOverlay
        {
            ShowFlashButton = true,
            TopText = "Please scan the barcode...",
            BottomText = string.Empty
        };

        overlay.BindingContext = overlay;  

        var scan = new ZXingScannerPage(null, overlay);
        await Navigation.PushAsync(scan);            

        overlay.FlashButtonClicked += (s, ed) => 
        {
            scan.ToggleTorch();
        };

        scan.OnScanResult += (result) =>
        {
            Device.BeginInvokeOnMainThread(async () =>
            {
                await Navigation.PopAsync();
                var _scanResult = result.Text;
            });
        };

您是否尝试过使用
ToggleTorch()
方法(
overlay.FlashButtonClicked+=(sender,e)=>zxing.ToggleTorch();
)?@Diegrafaelsouza否您能否提供我将尝试的参考资料,并让您知道我将其写在括号内。用此代码替换单击按钮的事件处理程序。它通常有效