我在View Model中有位图。现在我想从View Model绑定到XAML。
public static String _imgQRCode;
public String imgQRCode
{
get { return _imgQRCode; }
set { this.RaiseAndSetIfChanged(x => x.imgQRCode, value); }
}
位图: -
imgQRCode = GenerateQRCode(phoneNumber).ToString();
GenerateORCode: -
private static WriteableBitmap GenerateQRCode(string phoneNumber)
{
BarcodeWriter _writer = new BarcodeWriter();
_writer.Renderer = new ZXing.Rendering.WriteableBitmapRenderer()
{
Foreground = System.Windows.Media.Color.FromArgb(255, 0, 0, 255),
};
_writer.Format = BarcodeFormat.QR_CODE;
_writer.Options.Height = 400;
_writer.Options.Width = 400;
_writer.Options.Margin = 1;
var barcodeImage = _writer.Write("tel:" + phoneNumber);
return barcodeImage;
}
这里我无法绑定图像。请让我任何想法绑定viewModel中的图像。 提前谢谢。
答案 0 :(得分:1)
将string
的数据类型从WriteableBitmap
更改为imgQRCode
。
答案 1 :(得分:0)
您无法将图像绑定到字符串。 只要datacontext对您的标记是正确的,您就应该为位图定义一个属性,例如
WriteableBitmap QRCode { get; set; } // Implement INotifyPropertyChanged the way you do it
然后在您的其他属性设置器中设置QRCode,如下所示:
public String imgQRCode
{
get { return _imgQRCode; }
set
{
this.RaiseAndSetIfChanged(x => x.imgQRCode, value);
this.QRCode = GenerateQRCode(value);
}
}
然后在XAML中你可以<Image Source="{Binding Path=QRCode}" />