0

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ますか?

4

1 に答える 1

1

プロパティが変更されたことを通知していません。

FingerprintSource プロパティを持つクラスは、インターフェイスINotifyPropertyChangedを実装する必要があります。次に、プロパティ セッターを使用してPropertyChangedイベントを発生させることができます。そうしないと、WPF バインディングは何かが変更されたことを認識しません。

ここに良い出発点があります: WPF/MVVM クイック スタート チュートリアル

于 2013-02-26T11:24:22.370 に答える