我是 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 正确绑定。现在我想用列表 currentItems 填充它的子 Itemcontrol。由于我需要多个父控件,因此我需要对子 Itemscontrol 进行动态命名。此外,我无法从代码访问子 ItemsControl。
如何使这成为可能?我不知道是否存在 ItemsControl 本身的子 ItemsControl。
请建议我解决此问题的任何解决方案或替代解决方案。
编辑:我希望用户查看令牌编号、时间等以及将由交互式按钮列表替换的项目列表。
更新:稍微修改了 XAML 内容。子 ItemsControl 位于 DataTemplate 中。