在WPF中通过事件获取动态图像

本文关键字:获取 动态 图像 事件 WPF | 更新日期: 2023-09-27 18:01:15

我想在我的WPF表单中添加一个动态图像。我已经添加了这样的图像:

<Image Height="212" HorizontalAlignment="Left" Margin="12,167,0,0" 
   Name="picture_scan" Stretch="Fill" VerticalAlignment="Top" Width="227" 
   Source="{Binding FingerprintSource}" />

源代码导致我的服务类中的以下代码:

public BitmapSource FingerprintSource
{
    get { return fingerprintScan.WpfImageSource; }
}

WpfImageSourceBitmapSource。正如我所说,图像是动态的。通过我的指纹阅读器中的一个事件,调用以下代码:

private void HandleFingerprintObtainedEvent(Fingerprint fingerprint, FingerprintImage fingerprintImage)
{
    Debug.WriteLine("New fingerprint found!");
    fingerprintScan = fingerprintImage;
}

当我运行程序并将手指按在读取器上时,发现了一个新的指纹图像。正在修改"fingerprintScan"。但问题是,把我的手指放在扫描仪之前和之后,位图是空的(白色?)。我做错了什么?除了数据绑定,我还需要做更多的事情吗,比如检查事件之类的?当数据绑定的来源是BitmapSource而不是BitmapImage时,这是一个问题吗?

在WPF中通过事件获取动态图像

不是通知属性已更改。

拥有FingerprintSource属性的类必须实现INotifyPropertyChanged接口。然后可以使用属性设置器引发PropertyChanged事件。否则,WPF绑定不知道有什么东西发生了变化。

在这里你有一个很好的起点:WPF/MVVM快速入门教程