WPF工具包手风琴-如何绑定数据
我一直在尝试(但失败)使用数据绑定动态创建手风琴 我有一个名为MenuGroups的集合,其中包含一个字符串“ModuleName”和一个名为MenuItems的IList集合。我希望将菜单组绑定到标题,将菜单项绑定到内容 到目前为止,我管理的最接近的一个应用程序使用了这个XAML:WPF工具包手风琴-如何绑定数据,wpf,wpftoolkit,accordion,Wpf,Wpftoolkit,Accordion,我一直在尝试(但失败)使用数据绑定动态创建手风琴 我有一个名为MenuGroups的集合,其中包含一个字符串“ModuleName”和一个名为MenuItems的IList集合。我希望将菜单组绑定到标题,将菜单项绑定到内容 到目前为止,我管理的最接近的一个应用程序使用了这个XAML: <WPFToolkit:Accordion ItemsSource="{Binding MenuGroups}" HorizontalAlignment="Stretch" SelectionMode="On
<WPFToolkit:Accordion ItemsSource="{Binding MenuGroups}" HorizontalAlignment="Stretch" SelectionMode="OneOrMore">
<WPFToolkit:Accordion.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ModuleName}" />
</DataTemplate>
</WPFToolkit:Accordion.ItemTemplate>
<WPFToolkit:Accordion.ContentTemplate>
<DataTemplate>
<TextBox Text="{Binding MenuItems/MenuItemName}"/>
</DataTemplate>
</WPFToolkit:Accordion.ContentTemplate>
</WPFToolkit:Accordion>
这将正确生成标题,但内容中仅显示每个组中的第一个菜单项。我尝试过上述各种不同的含义,但迄今为止我还没有达到预期的效果。我尝试在内容模板中使用ListView而不是TextBlock,认为我需要它来处理多个项目,但这产生了一个空白的内容区域
有人能帮忙吗?属性路径中的
/
字符表示绑定到集合中的当前项。由于您没有以其他方式设置当前项,因此它将始终只是第一项。看
如果希望内容是整个MenuItems列表,则应使用或其子类之一,如
类似的内容将为集合中的每个MenuItem提供一个文本框:
<WPFToolkit:Accordion.ContentTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding MenuItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding MenuItemName}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</WPFToolkit:Accordion.ContentTemplate>
Hi-谢谢您的回复。正如我在最初的帖子中所说,我确实尝试了一个列表框,但没有成功。我现在使用不同的数据结构,无论出于什么原因,这都解决了我的问题。