Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF工具包手风琴-如何绑定数据_Wpf_Wpftoolkit_Accordion - Fatal编程技术网

WPF工具包手风琴-如何绑定数据

WPF工具包手风琴-如何绑定数据,wpf,wpftoolkit,accordion,Wpf,Wpftoolkit,Accordion,我一直在尝试(但失败)使用数据绑定动态创建手风琴 我有一个名为MenuGroups的集合,其中包含一个字符串“ModuleName”和一个名为MenuItems的IList集合。我希望将菜单组绑定到标题,将菜单项绑定到内容 到目前为止,我管理的最接近的一个应用程序使用了这个XAML: <WPFToolkit:Accordion ItemsSource="{Binding MenuGroups}" HorizontalAlignment="Stretch" SelectionMode="On

我一直在尝试(但失败)使用数据绑定动态创建手风琴

我有一个名为MenuGroups的集合,其中包含一个字符串“ModuleName”和一个名为MenuItems的IList集合。我希望将菜单组绑定到标题,将菜单项绑定到内容

到目前为止,我管理的最接近的一个应用程序使用了这个XAML:

<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-谢谢您的回复。正如我在最初的帖子中所说,我确实尝试了一个列表框,但没有成功。我现在使用不同的数据结构,无论出于什么原因,这都解决了我的问题。