同じモデルのデータを扱う2つのビューがありますが、異なる方法で表現すると です。モデルは値の2次元配列 を公開しており、各ビューは視覚的表現を提供しています。 1つのビューは、 典型的なイメージビューを提供しており、Imageクラスを使用しています。もう1つはASCIIビューを提供する です。問題は、 モデルの2D配列データを、ViewModelsまたは を使用してさまざまな表現に変換する必要があります。これは、おそらくIValueConvertersまたはDataTemplatesを使用して、ビューで行う必要がありますか?このモデルデータを適切なビジュアル表現に変換するクラスは何ですか?
0
A
答えて
0
私の提案は、ビューによって使用されているタイプは、ビュー固有のものであるときに、背景に使用するBrush
にあなたのモデルからWhite
とBlack
の列挙を変換する場合、例えば、値コンバータを使用することです。この場合、コンバータはビューの一部になりました。
一方、データ構造を再編成するか、または異なるプロパティを公開する必要があり、すべての結果のタイプがビュー固有でない場合は、別のビューモデルプロパティまたは別のビューモデルを使用することをお勧めします。これは、別のビューフレームワークに切り替える場合には、やはり再利用可能です。
0
公開するプロパティ値をビューで表示できるように変更する必要がない場合は、datatemplateを使用する必要があります。
UI要素を実際にミミックすることなくプロパティをより便利な形に変換する必要がある場合、Viewmodelにその形式で公開することをお勧めします。
実際にプロパティをある種のUI要素(color、Visibility、...)にモーフ変換する必要がある場合は、IValueConvertersを使用すると簡単にこの操作を行うことができます。
関連する問題
- 1. .NetクラスをSQLiteテーブルに変換する最適な方法は何ですか?
- 2. このメソッドを置き換える適切なスコープは何ですか?
- 3. RabbitMQのヘッダ交換に適切なルーティングキー値は何ですか?
- 4. これは、Nodatimeのタイムゾーン間を変換する適切な方法ですか?
- 5. IntentFilterクラス/オブジェクトの適切な使い方は何ですか?
- 6. 不適切なクエリを置き換える正規表現
- 7. JAVAビジュアル表現
- 8. SQL:これに対して適切なクエリは何ですか?
- 9. MonoTouchでメモリリークのない現在のUIViewControllerを変更する適切な方法は何ですか?
- 10. このコードの適切なラケット/スキームのイディオムは何ですか?
- 11. プログラムロジックのビジュアル表現
- 12. この日付を適切な形式に変換するだけです
- 13. 適切なLLVMヘッダーガードスタイルは何ですか?
- 14. 不適切なリストは何ですか?
- 15. この場合、適切なJavaコレクションは何ですか?
- 16. XSLT変換用XMLのeacuteの適切なUTF-8 16進表現
- 17. pngファイルをビデオファイルに変換するために使用される適切なフレームレートは何ですか?
- 18. データフレームの変数を適切な形式に変換する
- 19. HTMLタグを非表示にする適切な方法は何ですか?
- 20. 文字列リストを適切なリストに変換するには?
- 21. 現在のサイズ変更が適切に表示されない
- 22. CHMファイルを適切なIntellisense互換XMLに変換する
- 23. フィールドのないクラスのequals()の適切な実装とは何ですか?
- 24. ストアドプロシージャでこのエラーを処理する適切な方法は何ですか?
- 25. バネ統合でXMLをJavaオブジェクトに変換する適切な方法は何ですか?
- 26. Mavenでファイルを置き換える適切な方法は何ですか?
- 27. ES6構文でノード5.9で変数を交換するための適切なアプローチは何ですか?
- 28. クラスのメタ面を扱うための適切なインターフェースは何ですか?
- 29. ログスタッシュでunixtimestampを適切なタイムスタンプに変換する方法
- 30. yii1で配列を適切なjson形式に変換する