2011-01-17 1 views
0

同じモデルのデータを扱う2つのビューがありますが、異なる方法で表現すると です。モデルは値の2次元配列 を公開しており、各ビューは視覚的表現を提供しています。 1つのビューは、 典型的なイメージビューを提供しており、Imageクラスを使用しています。もう1つはASCIIビューを提供する です。問題は、 モデルの2D配列データを、ViewModelsまたは を使用してさまざまな表現に変換する必要があります。これは、おそらくIValueConvertersまたはDataTemplatesを使用して、ビューで行う必要がありますか?このモデルデータを適切なビジュアル表現に変換するクラスは何ですか?

答えて

0

私の提案は、ビューによって使用されているタイプは、ビュー固有のものであるときに、背景に使用するBrushにあなたのモデルからWhiteBlackの列挙を変換する場合、例えば、値コンバータを使用することです。この場合、コンバータはビューの一部になりました。

一方、データ構造を再編成するか、または異なるプロパティを公開する必要があり、すべての結果のタイプがビュー固有でない場合は、別のビューモデルプロパティまたは別のビューモデルを使用することをお勧めします。これは、別のビューフレームワークに切り替える場合には、やはり再利用可能です。

0

公開するプロパティ値をビューで表示できるように変更する必要がない場合は、datatemplateを使用する必要があります。

UI要素を実際にミミックすることなくプロパティをより便利な形に変換する必要がある場合、Viewmodelにその形式で公開することをお勧めします。

実際にプロパティをある種のUI要素(color、Visibility、...)にモーフ変換する必要がある場合は、IValueConvertersを使用すると簡単にこの操作を行うことができます。

関連する問題