IValueConverterこれまでは、送信と受信のプロパティがいつも互換性がある単純なデータバインディングを扱ってきました。一つの型の値をバインドして、それを少し違った型で表現したいという状況になるでしょう。バリューコンバーターを使う事例バリューコンバーターはデータバインディングで大変良く使います。主な事例は、ある数値があるが、これをある方法でゼロを表示し、別の方法で数値を表示したい場合。ファイルサイズをByteで持っているが、それをその大きさに合わせて、バイト、キロバイト、メガバイト、ギガバイトで表示したい場合。これらは単純なケースですが、他にももっとあります。論理値でチェックボックスをチェックしたいが、それを反転して表示する場合、チェックボックスは値がfalseでチェックされ、trueの時はチェックされません。イメージソースのための画像を生成するためにもコンバーターを使えます。値に基づき、trueの場合はグリーンサインでfalseの場合はレッドサインのように。この可能性は無限です。このようなケースでは、バリューコンバーターを使えます。実装したこれらの小さなクラスは仲介者として動作し、送り元と送り先の間で値を翻訳します。値が送り先に届く前や、値が再び送り元に戻る前に値の変更が必要な状況では、おそらくコンバーターが必要になります。インターフェース(説明は後ほど)を実装する必要があります。どちらのインターフェースも2つのメソッドの実装が必要なだけです。名前が示すように、これらのメソッドは送り先に送る値の変換と、戻ってくる値の変換に使われます。入力として文字列を取り、BOOL値を返す簡単なコンバーターを、他と同様の方法で実装してみましょう。あなたがWPFの初心者でこのチュートリアルを読んでいるのなら、このサンプルで使われている概念に馴染みがないと思いますが、恐れることはありません、コードの後に説明があります。"no";}}}コードビハインドそれでは、後ろに戻って、サンプルを見ていきましょう。いう名前のコンバーターを実装しました。告知したように、2つの要求されたメソッドだけ実装しました。BOOL値に、フォールバック値はfalseとして変換します。同様に、フランス語を入力、変換するなんてこともできます。メソッドは明らかに逆の動作を行います。