私はWPFで非常に新しいです。私は次のことをやろうとしています:
以下は私のデータの構造です:
public class TokenItems {public string items {get;set;} public int quantity {get;set}}
public class Token { public int tokenNo {get;set;} public string name {get;set;} public List<TokenItems> currentItems {get;set;}}
public List<Token> tokenList = new List<Token>();
XAML:
<ItemsControl Name="ParentControl">
....
<DataTemplate>
<TextBlock Content="{Binding tokenNo}"/>
<Itemscontrol Name="{Binding tokenNo}"> ?? I tried and want dynamic naming or any other solution for this {Binding name} just won't work i know.??
...
<DataTemplate>
<Button>
<Grid>
...
<TextBlock Content="{Binding items}/>
<TextBlock Content="{Binding quantity}/>
</DataTemplate>
</Itemscontrol>
....
</DataTemplate>
</Itemscontrol>
必要なすべてのデータを tokenList に追加し、次のことを行いました。
ParentControl.ItemsSource = tokenList;
すべてが ParentControl に適切にバインドされていることは間違いありません。ここで、その子 Itemcontrol にリスト currentItems を入力します。複数の親コントロールがあるため、子の Items コントロールに動的な名前を付ける必要がありました。さらに、コードから子 ItemsControl にアクセスできません。
それを可能にする方法は?ItemsControl 自体の子 ItemsControl が存在するかどうかはわかりません。
この問題の解決策または別の解決策を教えてください。
編集: ユーザーにトークン番号、時間などを、インタラクティブなボタンのリストに置き換えられるアイテムのリストとともに表示してもらいたいです。
更新: XAML コンテンツをわずかに変更しました。子 ItemsControl は DataTemplate 内にあります。