gpt4 book ai didi

c# - Itemscontrol 中的 Itemscontrol 并将它们与自定义数据绑定(bind)

转载 作者:太空狗 更新时间:2023-10-30 00:54:43 29 4
gpt4 key购买 nike

我是 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 的所有内容都已正确绑定(bind)。现在我想用列表 currentItems 填充它的子 Itemcontrol。由于我有多个父控件,我需要对子 Itemscontrol 进行动态命名。此外,我无法从代码访问子项 ItemsControl。

如何做到这一点?我不知道是否存在 ItemsControl 本身的子 ItemsControl。

请建议我解决此问题的任何解决方案或替代解决方案。

编辑:我希望用户看到 token 号、时间等,以及要被交互式按钮列表替换的项目列表。

更新:XAML 内容略有修改。子项 ItemsControl 在 DataTemplate 中。

最佳答案

你不需要在itemscontrol中命名,如果你想让itemscontrol触发一些东西,使用itemtemplate中的按钮:

<ItemsControl ItemsSource="{Binding tokenList}">
<ItemsControl ItemsSource="{Binding currentItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding TokenNo}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ItemsControl>

您可以添加任何您需要在数据模板标签中显示的内容。在我的示例中,按钮上的文本将是它在父项中找到的 TokenNo,即通过 token 列表绑定(bind)显示的 token 。

关于c# - Itemscontrol 中的 Itemscontrol 并将它们与自定义数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946978/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com