私は、10000のWPFコントロールが非常に大きくスタイルされており、そのスタイルがほぼ90%同一であるとしましょう。wpfでのスタイル継承のパフォーマンス
私は不思議に思っています。パフォーマンスを向上させるにはどうすればよいでしょうか?
- 10000ユニークなスタイル
- はこのスタイルを継承し、私は2番目の思考せずに、第2のオプションのために行っていた残りの10%
を追加する一般的な90%+ 10000のスタイルを含む1つのスタイルを持ってい(可読性に関する考慮事項)、しかし、私はパフォーマンスの点で非常に悪い考えであることを示す傾向があるいくつかの基本的なテストを行いました。だから私のテストはバグか、スタイル継承は本当にperfsを下げますか?
編集:大丈夫です、これは十分に説明されていないことがほとんどでした。私は少し詳しくしようとします:
基本的に、私の関心はDataGridにあります。 私のセルは大幅にカスタマイズ可能です(基本的には、セル内のすべてのスタイルプロパティを変更できます)。また、DataGridではこれを簡単に行うことができません(DataViewのdatacontextがCellViewではなくrowViewになっています)。私が何をするために追加するかを達成するには本当に醜いものです(詳細を知りたい場合はthereを参照してください)。基本的には、各セルのコードビハインドでCellStyleを設定します。
これらのスタイルは共通点が多いので、私は共通のスタイルを設定し、アプリの静的リソースを入れて、この共通のスタイルですべてのセルスタイルをベースにしました。 (このスタイルはイベントリスナーをホストしていましたが、cellStylesはフォアグラウンドColor、FontSizeなどのプロパティにバインディングを追加しました...)
私はこれを試したときに、 今、私が当時のこのアプリの側面を実際にテストしていなかったので、コードの一部がひどく書かれていて、perfのドロップが「basedon」スタイル。とにかく、私は転がして、私がやっていたテストを終えました。
今、私はコードを整理していますが、これについてもう一度説明します。 私のスタイルの構造をすべて変更する手間が出る前に、テスト目的のためだけに問題があれば、まず質問してみてください...
ご協力いただきありがとうございます!
StaticResourceまたはDynamicResourceとしてアクセスしますか? –
どのようなテストをしましたか?あなたはコードを投稿できますか? – Rachel
私はそれがリソースをどのようにロードしているかによって異なると思います。 ResourceDictionaryオブジェクトを使用していますか? –