2009-08-13 12 views
0

現在、SubSonic3でLinqテンプレートを使用してモデルを作成しています。私はNotesのコレクションを持つ単純なMemberクラスを持っています。 NoteクラスにはPublishedDateとTitleプロパティがあります。XAMLの子コレクションへの間接バインド

私は、DataContextのメンバーのコレクションを持つUserControlを持っています。 ListBoxesが2つあり、TextBoxesとそれに他のコントロールがたくさんあります。最初のListBox(membersList)は、UserControl DataContextからItemsSourceを取得し、各項目にいくつかのメンバープロパティを表示します。 2番目のListBox(notesList)には、最初に選択したメンバーのNotesコレクションが表示されます。ListBox

は、これまでのところnotesListに私が持っている:

<ListBox ... ItemsSource="{Binding Notes}"...> 
    <DataTemplate> 
     <TextBox Text="{Binding Title}"/> 
    </DataTemplate> 

それは部分的に動作します。注意事項があるメンバーを選択すると、notesListBoxに正しい数の項目がありますが、これは交互の行の色でのみ表示されます。 DataTemplateは、注釈のタイトルを表示できません。基本的にListBoxListBoxItemのすべてのビジュアルスタイルは交互の色、選択枠、マウスオーバーなどで表示されますが、コンテンツは表示されません。問題は私のバインディング構文ですが、何が間違っているのか分かりません。

ご意見をいただければ幸いです。

乾杯、 ダニー。

答えて

1

テンプレートにContentPresenterが含まれていることを確認してください。あなたのリストボックスをテンプレート化したときにこれを残してしまったように思えます。

これを残しておけば、テンプレート全体が表示されますが、「コンテンツ」は表示されません。実際のアイテムを配置する場所がないため、リストボックスの各アイテムに配置する必要があります。

+0

こんにちは、速い応答に感謝します。はい、私は既にコントロールテンプレートにContentPresenterを持っています。 ControlTemplatesはmembersListとnotesListで同じですが、唯一の違いはDataTemplatesです。 MembersList ListBoxはとてもうまく表示されていますが、問題のある問題はnotesListBoxだけです。 – codedog

関連する問題