Wpf XmlDataProvider、XPath和ListBox

Wpf XmlDataProvider、XPath和ListBox,wpf,xpath,xmldataprovider,Wpf,Xpath,Xmldataprovider,我一直在玩XamlPad。我想我应该在XAML中嵌入一些XML,以提供一组虚假的分层数据。我没有多少快乐。这将编译,但不显示列表中的项目。(编辑:层次结构方面供以后使用。现在我只想让内容出现在列表中) 小便 你好 低 如果从XmlDataProvider中删除XPath=“ParentNode”,则会将整个文档逐字添加到列表框中。我希望列表框中有两个节点,每个ParentNode一个。Okie dokie,解决方案非常简单,我在xml中添加了一个空名称空间,然后像往常一样执行XPath。这是

我一直在玩XamlPad。我想我应该在XAML中嵌入一些XML,以提供一组虚假的分层数据。我没有多少快乐。这将编译,但不显示列表中的项目。(编辑:层次结构方面供以后使用。现在我只想让内容出现在列表中)


小便
你好
低

如果从XmlDataProvider中删除XPath=“ParentNode”,则会将整个文档逐字添加到列表框中。我希望列表框中有两个节点,每个ParentNode一个。

Okie dokie,解决方案非常简单,我在xml中添加了一个空名称空间,然后像往常一样执行XPath。这是解决办法

    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Page.Resources>
      <XmlDataProvider x:Key="MyDataProvider" XPath="MyDoc">
          <x:XData>
            <MyDoc xmlns="">Wee
                <ParentNode>Hi</ParentNode>
                <ParentNode>Low</ParentNode>
            </MyDoc>
          </x:XData>
      </XmlDataProvider>  
  </Page.Resources>
  <Border BorderBrush="Green" BorderThickness="5">
  <Grid DataContext="{StaticResource MyDataProvider}" ShowGridLines="True">
  <Grid.RowDefinitions>
      <RowDefinition Height="1*"/>
      <RowDefinition Height="2*"/>
      <RowDefinition Height="3*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
  <ColumnDefinition />
  <ColumnDefinition />
  <ColumnDefinition />
  </Grid.ColumnDefinitions>
    <ListBox Grid.Row="1" Grid.Column="0" ItemsSource="{Binding XPath=*}"  Background="LightGray">
    </ListBox>
  </Grid>
  </Border>
</Page>

小便
你好
低
    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Page.Resources>
      <XmlDataProvider x:Key="MyDataProvider" XPath="MyDoc">
          <x:XData>
            <MyDoc xmlns="">Wee
                <ParentNode>Hi</ParentNode>
                <ParentNode>Low</ParentNode>
            </MyDoc>
          </x:XData>
      </XmlDataProvider>  
  </Page.Resources>
  <Border BorderBrush="Green" BorderThickness="5">
  <Grid DataContext="{StaticResource MyDataProvider}" ShowGridLines="True">
  <Grid.RowDefinitions>
      <RowDefinition Height="1*"/>
      <RowDefinition Height="2*"/>
      <RowDefinition Height="3*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
  <ColumnDefinition />
  <ColumnDefinition />
  <ColumnDefinition />
  </Grid.ColumnDefinitions>
    <ListBox Grid.Row="1" Grid.Column="0" ItemsSource="{Binding XPath=*}"  Background="LightGray">
    </ListBox>
  </Grid>
  </Border>
</Page>