5

リソースでコンバーターを宣言する代わりに、次のようなことができます

IsEnabled={Binding Path=SomeProp, Converter={x:Static namespace:Converter.Instance}}"

ここで、インスタンスは 1 回だけインスタンス化されます (lazy sinlgeton)

しかし、静的変数への参照を保持すると、ビューを破棄するときにガベージ コレクションの邪魔になるのではないかと心配しています (私は PRISM を使用しています)。どう思いますか?

4

1 に答える 1

3

実際、コンバーターの静的インスタンスはガベージ コレクションされませんが、それは 1 つのインスタンスに過ぎず、典型的なコンバーターにはデータ フィールドがない (または少ない) ため、おそらく心配する必要はありません...

コンバーターにはビューへの参照がないため、ビューのガベージ コレクションの問題にはなりません。

于 2010-01-15T13:32:11.707 に答える