0

いくつかの基本的なフォームビューモデル(値と、値を使用するかどうかを示すブール値を含む)のビューとして使用したいDataTemplate(2つのデータテンプレート)があります。

個別のフォーム アイテムにデータ テンプレートを数回使用したいと考えています。これを行う正しい方法は、それを ContentControl の ContentTemplate として設定することだと思います (その場合、同じデータ コンテキストになりますか?) が、ラベル文字列も渡したいと思います。ラベル文字列は UI の一部であるため、ビューモデルオブジェクトに入れるのは間違っているようです。ラベル文字列へのアクセス権を DataTemplate インスタンスに与えるにはどうすればよいですか?

4

1 に答える 1

1

その名前のように、aDataTemplateデータMyItemをテンプレート化するために使用さNameれますValue。必要です。

あなたの場合、あなたは非常によく似た を持つことについて話していますがviews、それらの間にはわずかな違いがあります。この小さな変更 (あなたの質問を正しく理解していれば) は、モデルやビューモデルに由来するものではなく、完全にビュー指向のものです (たとえば、ページの別のタイトル)。

ビューごとに異なるビューモデルを使用する予定があり、各ビューモデルの目的が異なる場合Title、VM にプロパティを追加してそれにバインドしても問題はないと思います (MVVM は一連のガイドラインであり、ルール...)

それでもビューモデルから分離したい場合は、Attached Propertyを使用できます。TemplateTitleたとえば、という添付プロパティを作成し、各ビューの各 contentcontrol を変更します。もちろん、ラベルはその添付プロパティにバインドされます。

于 2012-12-31T14:39:25.480 に答える