C# 列表框中的数据绑定工具提示

C# 列表框中的数据绑定工具提示,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我正在将xml结构绑定到列表框。我很困惑怎么做。如何将数据模板放入数据模板中,或者我需要使用hirarchialdatatemplate…例如,从xml,我想在列表框中显示汽车的品牌名称,并将相应的SUV显示为工具提示或上下文菜单。如何操作..请帮助..任何输入都将非常有用..我的xml文件结构如下所示 <XmlDataProvider x:Key="src"> <x:XData> <Automobiles> &

我正在将xml结构绑定到列表框。我很困惑怎么做。如何将数据模板放入数据模板中,或者我需要使用hirarchialdatatemplate…例如,从xml,我想在列表框中显示汽车的品牌名称,并将相应的SUV显示为工具提示或上下文菜单。如何操作..请帮助..任何输入都将非常有用..我的xml文件结构如下所示

<XmlDataProvider x:Key="src">
    <x:XData>
        <Automobiles>
            <Id>24</Id>
            <Category>Cars</Category>
            <MakeName>Audi</MakeName>
            <Suvs>
                <SuvId>Item1</SuvId>
                <SuvId>Item1</SuvId>
                <SuvId>Item1</SuvId>
                <SuvId>Item1</SuvId>
            </Suvs>
            <IsPanel>1</IsPanel>
            <IsFav>1</IsFav>
        </Automobiles>
    </x:XData>
</XmlDataProvider>

24
汽车
奥迪
项目1
项目1
项目1
项目1
1.
1.

我修改了您的XML格式以支持多个汽车组:

        <XmlDataProvider x:Key="src">
        <x:XData>
            <Automobiles xmlns="">
                <Automobile>
                    <Id>24</Id>
                    <Category>Cars</Category>
                    <MakeName>Audi</MakeName>
                    <Suvs>
                        <SuvId>audiItem1</SuvId>
                        <SuvId>audiItem2</SuvId>
                        <SuvId>audiItem3</SuvId>
                        <SuvId>audiItem4</SuvId>
                    </Suvs>
                    <IsPanel>1</IsPanel>
                    <IsFav>1</IsFav>
                </Automobile>
                <Automobile>
                    <Id>24</Id>
                    <Category>Cars</Category>
                    <MakeName>BMW</MakeName>
                    <Suvs>
                        <SuvId>bmwItem1</SuvId>
                        <SuvId>bmwItem2</SuvId>
                        <SuvId>bmwItem3</SuvId>
                        <SuvId>bmwItem4</SuvId>
                    </Suvs>
                    <IsPanel>1</IsPanel>
                    <IsFav>1</IsFav>
                </Automobile>
            </Automobiles>
        </x:XData>
    </XmlDataProvider>

24
汽车
奥迪
听力项目1
听力项目2
听力项目3
听力项目4
1.
1.
24
汽车
宝马
bmwItem1
bmwItem2
bmwItem3
bmwItem4
1.
1.
我连接了上下文菜单和工具提示。 下面是我如何连接绑定的:

<ItemsControl ItemsSource="{Binding Source={StaticResource src}, XPath=/Automobiles/Automobile}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <StackPanel Orientation="Horizontal">
                        <StackPanel.ContextMenu>
                            <ContextMenu ItemsSource="{Binding XPath=Suvs}">
                                <ContextMenu.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock Text="SUV ID: " />
                                            <TextBlock Text="{Binding XPath=SuvId}" />
                                        </StackPanel>
                                    </DataTemplate>
                                </ContextMenu.ItemTemplate>
                            </ContextMenu>
                        </StackPanel.ContextMenu>
                        <StackPanel.ToolTip>
                            <ListBox ItemsSource="{Binding XPath=Suvs/SuvId}">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock Text="SUV ID: " />
                                            <TextBlock Text="{Binding InnerText, StringFormat={}}" />
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </StackPanel.ToolTip>
                        <TextBlock Text="Make: " />
                        <TextBlock Text="{Binding XPath=MakeName}" />
                    </StackPanel>
                </Grid>
            </DataTemplate>
        </ItemsControl.ItemTemplate>