繁体   English   中英

在 MAUI windows 应用程序中生成条码并将其绑定到图像控件

[英]Generate and bind Barcode to image control in MAUI windows application

我正在处理 MAUI windows 应用程序。 我想从生成的条形码绑定图像源。 我正在使用以下 package 生成条形码。

https://www.nuget.org/packages/barcode#:~:text=The%20.,Plessey%2C%20USPS%2C%20and%20QR

我不想保存条形码图像文件。 我只想为字符串属性生成一个条形码,并将其转换为可以绑定到 ImageSource 属性的适当格式。 我没有收到任何异常,但条形码图像未显示在我的 UI 中。 我试过的这段代码。

public void GenerateQR()
        {
            //ToDo: Generate QR from last Enqueue data. Use QR generation library.
            var myBarcode = BarcodeWriter.CreateBarcode(QrStringValue, BarcodeWriterEncoding.QRCode);
            if (myBarcode.Verify())
            {
                QrCode = ImageSource.FromStream(() => myBarcode.ToStream());
            }
        }

在这里,QrStringValue 是一个字符串属性,它在按钮单击事件上不断变化。

private string _qrStringValue;
        public string QrStringValue
        {
            get => _qrStringValue;
            set
            {
                _qrStringValue = value;
                OnPropertyChanged(nameof(QrStringValue));
            }
        }

而 QrCode 是绑定到 Image 控件的 ImageSource 属性。

private ImageSource _qrCode;
        public ImageSource QrCode
        {
            get => _qrCode;
            set
            {
                _qrCode = value;
                OnPropertyChanged(nameof(QrCode));
            }
        }

<Image Source="{Binding SharedVM.QrCode}" Margin="90"/>

我是否需要 go 和一些 MAUI 特定的库来生成条形码并像下面这样显示? https://github.com/Redth/ZXing.Net.Maui

您可以尝试以下对我有用的代码:

public void GenerateQR()
{
    //ToDo: Generate QR from last Enqueue data. Use QR generation library.
    var myBarcode = BarcodeWriter.CreateBarcode(QrStringValue, BarcodeWriterEncoding.QRCode);
    if (myBarcode.Verify())
    {
        QrCode = ImageSource.FromStream(() => new MemoryStream(myBarcode.ToPngBinaryData()));
    }   
}    

这似乎BarcodeWriter.CreateBarcode不返回标准格式。

希望对你有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM