2016-11-19 7 views
1

要素を含むXMLファイルがあります。 WPFのDataGridに要素名(つまりMaruthi)を取得する必要があります。WPFを使用してXMLファイルからDataGridに<elementname>要素を読み取る

私のXMLファイル:XAMLで

<Maruthi> 
    <Maruthi_Alto> 
       <Description>MINI</Description> 
    </Maruthi_Alto> 

    <Maruthi_Ciaz> 
       <Description>Sedan</Description> 
    </Maruthi_Ciaz> 
</Maruthi> 

<DataGrid 
     DataContext="{StaticResource CarData}" 
     ItemsSource="{Binding XPath=}" 
     AutoGenerateColumns="False" Height="Auto" 
     Name="dataGrid2" Margin="0,25,0,0" 
     VerticalAlignment="Top" HorizontalAlignment="Stretch"> 

     <DataGrid.Columns> 
      <DataGridTextColumn 
       Header="Car Name" 
       Binding="{Binding XPath=}"/> 
      <DataGridTextColumn 
       Header="Car Model" 
       Binding="{Binding XPath=}"/> 
      <DataGridTextColumn 
       Header="Description" 
       Binding="{Binding XPath=}" /> 
     </DataGrid.Columns> 
</DataGrid> 

私は、XAMLでパスの詳細を見つけることにこだわっています。

+0

ありがとうございます。 。しかし、あなたのansのWindowsリソースのXMLデータを添付して、しかし、事は約70のdiff xmlファイルがあり、私はすべてのファイルの要素名を読み取る必要があるので、この問題を解決する方法があります。 。私を助けてください。 。 – pavan

答えて

0

はこのお試しください:Binding="{Binding Path=Name}"

<Window.Resources> 
     <XmlDataProvider x:Key="dataGridData" XPath="Cars"> 
      <x:XData> 
       <Cars xmlns=""> 
        <Maruthi> 
         <Maruthi_Alto> 
          <Description>MINI</Description> 
         </Maruthi_Alto> 
         <Maruthi_Ciaz> 
          <Description>Sedan</Description> 
         </Maruthi_Ciaz> 
        </Maruthi> 
       </Cars> 
      </x:XData> 
     </XmlDataProvider> 
    </Window.Resources> 
    <Grid> 
     <DataGrid DataContext="{StaticResource dataGridData}" 
        ItemsSource="{Binding XPath=*}" 
        AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Header="Car Name" Binding="{Binding Path=Name}"/> 
      </DataGrid.Columns> 
     </DataGrid> 
    </Grid> 

各行は1つのXML要素を表示し、各要素は「名前」プロパティを持っているが、私は、このプロパティにバインドします。

+0

答えがOPの質問を解決する理由を説明してください。 –

+2

@ Tomasz Kowalczyk私は答えに説明を書きました。 –

関連する問題