コードビハインドのものにバインドするListBoxがあるとしましょう:
<ListBox x:Name="list">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem Content="{Binding Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBox x:Name="name" Text="{Binding ElementName=list, Path=SelectedItem.Name, Mode=TwoWay" />
<TextBox x:Name="contents" Text="{Binding ElementName=list, Path=SelectedItem.Contents, Mode=TwoWay" />
背後にあるコード:
public class Dude
{
public String Name { get; set; }
public String Contents { get; set; }
}
さて、上記は私が望んでいることを実行します。リストボックス内の項目が選択されると、テキストボックスが更新され、リストボックス内で選択されたものが表示されます。
しかし、私が今やろうとしているのは、辞書を追加してDudeクラスを拡張することです。
public class Dude
{
public string Name { get; set; }
public string Contents { get; set; }
public Dictionary<String, String> Tasks { get; set; }
}
私ができることを願って:
リストボックスでアイテムをクリックし、対応するアイテムの名前とコンテンツのプロパティをそれぞれのテキストボックスに表示してから、コンテンツのテキストボックスに辞書のコンテンツのキー/値を追加します。
しかし、どうすればそんなに深くなることができるのかわかりません。複数のレベルに進んでいるような気がしますが、多次元バインディングのようなものが必要ですか?
あなたが持っている、または見た(単純な)サンプルはありますか?ドキュメント、記事、チュートリアル?
どんな助けでも大歓迎です。
ありがとうございました