0
我想在我的WPF表單中添加一個動態圖像。我已經添加了圖片如下:在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; }
}
的WpfImageSource
是BitmapSource
。正如我所說,圖像是動態的。通過從我的指紋識別器的事件,下面的代碼被稱爲:
private void HandleFingerprintObtainedEvent(Fingerprint fingerprint, FingerprintImage fingerprintImage)
{
Debug.WriteLine("New fingerprint found!");
fingerprintScan = fingerprintImage;
}
當我運行該程序,然後按我的手指上的讀者,一個新的指紋圖像中找到。值fingerprintScan
正在更改。但問題是,在將手指放在掃描儀之前和之後,位圖是空的(白色?)。我究竟做錯了什麼?除了數據綁定之外,我還需要做更多的事情,比如檢查事件或其他事情嗎?當數據綁定的來源是BitmapSource
而不是BitmapImage
時,這是一個問題嗎?
好了,我已經從示例,並試圖代碼我'當我插入一個新的形象RaisePropertyChanged'被解僱。我如何讓WPF綁定知道它是已更改的Fingerprintscan,並相應地刷新WPF上的圖像? – Joetjah 2013-02-26 11:42:09
首先,確保您的WPF窗口/頁面具有正確設置的DataContext。只要您觸發事件,綁定就會收到它並自動更新值(在本例中爲圖像)。如果沒有發生,請查看輸出窗口以查看任何綁定問題。 – JoanComasFdz 2013-02-26 11:46:52
DataContext設置正確。我使用ComboBoxes和ListViews的其他值。當我按下掃描儀上的手指並刷新(替換)圖像時,事件也會被觸發。但是,我的照片沒有刷新。也許錯誤在'RaisePropertyChanged(「fingerprintScan」);'?我必須給出什麼字符串值作爲參數? – Joetjah 2013-02-26 12:33:46