2012-01-04 6 views
4

A)リソースがユーザーコントロールから使用される場合、どちらがより良いパフォーマンスを発揮しますか..
これをユーザーコントロールのスコープに含めるか、リソースをapp.xaml ..から参照するには?WPFリソースの範囲:パフォーマンスに適したアプリケーションスコープ(app.xaml)にプッシュしますか?

B)これでappl.xamlから100種類のスタイルがすべて参照されました。 それらをそれぞれのユーザーコントロールに移動することは、努力する価値がありますか?

+1

パフォーマンスに問題はありますか? – Paparazzi

+0

読み込み時間が遅い。しかし、プロジェクト内のファイルの編成は、単一の大きなフォルダ内のすべてのスタイルxamlではうまくいかず、これらのxamlはすべてapp.xamlから参照されます。私は、アプリケーション全体で使われていなかったリソースをusercontrolスコープに移動することを考えていました。良いフォルダと参照構造以外のパフォーマンス上の利点があるかどうかを知りたい – Socrates

答えて

1

アプリケーションリソースを追加すると、より良い再利用を与えるが、それはページが与えられた リソースを使用するか、すぐにはっきりしていないので、それは 複雑になります。

マシュー・マクドナルドによりC位 におけるプロシルバー4


全体的には、アプリケーションのスコープ内のリソースを再利用のレベルに依存します。リソースが広く再利用されている場合は、アプリケーションリソースに配置します。 1つのUserControlに対してのみスタイルを使用し、それを他の場所で使用しない場合は、このスタイルをapp.xaml内に配置するのは大変です。私の意見では、たとえリソースが2〜3ページだけ使用されていても、各ページにリソースを配置する方が良いでしょう。

パフォーマンスの観点からは、パフォーマンスを低下させるほどのリソースがないとは思いません。
以下 あなたはロード時間を改善するのに役立つ可能性があり記事です:あなたは、この記事を読んだ後
MSDN多くの状況で役立ちます):

更新多くの質問の回答が得られます:Resource Dictionaries
Resourcesのパフォーマンスに関する問題を記述した記事:Silverlight XAML Performance Problem and Shared Resources

2

A)ユーザーコントロールから使用するリソースがある場合は、どちらがパフォーマンスが良いのですか。 これをユーザーコントロールのスコープに含めるか、リソースをapp.xaml ..から参照するには?

XAMLはBAMLでコンパイルされ、起動時に読み込まれるため、違いはありません。今ではXAMLのほとんどのものが共有されています(つまり、線ブラシ、ドロップダウンスタイル)。同じスタイルと因数を再利用するために直接コントロールに置かない方が良いです

B)今度は100種類のスタイルappl.xamlから参照されます。それらをそれぞれのユーザーコントロールに移動させることは、努力する価値があるのですか?

あなたはそれらを再利用することができないため、生産性が低下します。

XAMLが遅く、MVVMを使用している場合、作成されたオブジェクトの数を確認します。今年はアイテムごとにコンテキストメニューを再作成して問題が発生し、ツリービューのすべてのアイテムに共有されたままにしておくと、初期化時間が改善されました。

0

私はそれが最も論理的な場所に配置します。それが複数の場所で使用されている場合、または複数回使用される可能性のあるものであっても、app.xamlに入れてください。それがページ/ユーザコントロール/ウィンドウに非常に限定されている場合は、そこに配置します。

関連する問題