バインディングに値コンバーターを指定する際に遭遇した最も一般的な方法は、次のとおり
です。1.値コンバーターのインスタンスをリソースとしてキーを使用して作成します。
2.StaticResourceマークアップ拡張機能を使用してインスタンスを参照します。
<TextBlock Text="{Binding Converter={StaticResource myFormatter}" />
Q:静的インスタンスを次のように使用することに何か問題がありますか?
<TextBlock Text="{Binding Path=Description, Converter={x:Static local:MyFormatter.Instance}}"/>
// where Instance is declared as:
public readonly static MyFormatter Instance = new MyFormatter();
私の場合、値コンバーターは不変です。
編集:別の方法は、コンバーターを拡張機能 に変換して、マークアップ拡張形式を使用してコンバーターを指定することです。
<TextBlock Text="{Binding Converter={local:MyFormatter}}"/>