2011-01-12 5 views
1

DATEやTEXTなどの2つの入力を受け取り、その結果をDataGridに表示すると、dataTypesの3つのプロパティを持つクラスを簡単に持つxamlページがあるとします。DateTime 、文字列といくつかのコレクションを実装し、MVVMで同じものを実装します。ダイナミック入力コントロールのあるSilverlightページのMVVM

私はDataGridを持つxamlページを持っており、特定の条件に基づいて動的に生成される入力コントロール(textboxやdatepickerなど)はほとんどありません。私はこれをMVVMパターンで実装したいが、どのように進むべきかはわからない。任意のポインタが役立ちます。

答えて

0

私の経験では、MVVMはすべてのプレゼンテーションシナリオでは答えられません。コードビハインドやカスタムコントロールの作成が必要な場合もあります。ここでは、依存関係プロパティを持つオブジェクトやオブジェクトのリストを取得し、コントロール(入力検証/検証、int、double、date pickerなどのテキストボックス)を生成し、与えられたオブジェクトをそれらにバインドするカスタムコントロールを構築することをお勧めします。最後に、オブジェクトをとり、入力フィールドをレンダリングし、バインドするスマートコントロールを1つ用意します。あなたのVMクラスはオブジェクトまたはオブジェクトのリストを公開します。

0

ビューとモデルを分離するには常にです。です。しかし、これは単純なデータ型の単純なデータバインディングでは必ずしもできません。

"spec"が使用するコントロールの論理タイプである場合、{name、value、spec}のペアのリストにデータバインドできるカスタムコントロールのようなものがあります。

考えてみましょう。これは、プロパティ記述子のカスタムコレクションを渡すと、プロパティグリッドのようになります。

Devexpessには「垂直グリッド」があり、サードパーティのプロパティグリッドにも役立ちます。

関連する問題