0

複数のリソース ディクショナリがあり、一部のリソースが他のリソース ディクショナリ内のリソースへの Dynamic/StaticResource 参照を持っているとします。MergedDictionary を使用して他のディクショナリを参照することなく相互に参照する方法はありますか?

すべてのリソース ディクショナリを Application.Resources にマージすると、すべての Dynamic/StaticResource 参照を Application レベルに解決できると思いましたが、これによりキーが見つからないという例外が発生するため、そのようには機能しないと思います?

他のリソースに依存するこれらのリソース ディクショナリが、MergedDictionaries を介して相互に参照し、これらすべてを Application.Resources にマージすると、同じリソース ディクショナリの複製を別のインスタンスとして作成し、不必要にメモリを浪費しませんか?

これを行うよりエレガントな方法はありますか?

4

1 に答える 1

1

ResourceDictionary オブジェクトをキャッシュする MergedDictionary の実装を次に示します (重複の問題を回避します)。

http://www.wpftutorial.net/MergedDictionaryPerformance.html

于 2012-11-28T06:15:24.933 に答える