WP7 -如何从ViewModel绑定位图
本文关键字:ViewModel 绑定 位图 WP7 | 更新日期: 2023-09-27 18:16:32
我在视图模型中有位图。现在我想从视图模型绑定到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绑定图像的任何想法。
将imgQRCode
的数据类型由string
改为WriteableBitmap
不能将图像绑定到字符串。只要标签的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}" />