1

プロファイル ビューを含む Windows 8 ストア アプリを開発しています。プロファイル ビューには、ViewModel 内のオブジェクトの Observable コレクションにバインドする ListView があります。ビュー モデルには currentObject というプロパティもあります。

私ができる必要があるのは、currentObject と同じ ID を持つコレクション内のオブジェクトに対して別の項目テンプレートを選択することです。ビューモデルでこれを行う方法は簡単ですが、メソッドを起動してアイテム テンプレート名をビュー モデルのリストビュー テンプレート セレクター プロパティに返す方法がわかりません。

私は c#、MVVM、および caliburn.micro を使用しているため、このコードをコード ビハインドから除外したいと考えています。

助言がありますか?

4

1 に答える 1

0

上記のコメントの回答に示されているように、DataTemplateSelector を使用するよりも簡単な方法があります。XAML で DataTemplates を使用している場合は、DataType 属性を使用できます。これを使用して、DataTemplate を型に関連付けます (必要です)。 ViewModel である必要があります)。そのため、レンダリング エンジンはそのタイプに遭遇するたびに、選択するデータ テンプレートを認識します。

 <DataTemplate DataType="{x:Type vm:MyViewModel}">
 </DataTemplate>
于 2014-02-25T09:15:28.130 に答える