none
请教linq to xml 绑定datagrid的问题 RRS feed

  • 问题

  • XML文件结构为:

    <?xml version="1.0" encoding="utf-8" ?>
    <root>
      <task name ="haitao" age ="22"></task>
      <task name ="zhangsan" age ="23"></task>
    </root>

    XAML的代码我知道如何绑定动态属性了。可是我的列是不确定的。需要在C#代码里实现

    <Window x:Class="WpfApplication16.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <DataGrid  AutoGenerateColumns="False" Height="150" HorizontalAlignment="Left" Margin="40,49,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="233" >
           
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Name" Binding="{Binding Path=Attribute[name].Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                    <DataGridTextColumn Header="Age" Binding="{Binding Path=Attribute[age].Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                </DataGrid.Columns>
                </DataGrid>
        </Grid>
    </Window>

    横线部分。我不知道在C#中如何实现。

    希望能给于指点。谢谢

     xe = XElement.Load(@"D:\C#Wpf\WpfApplication16\WpfApplication16\test.xml");
                var result = from x in xe.Elements()
                             select x;
                   
                Trace.WriteLine(xDocument);
                this.dataGrid1.ItemsSource = result;
                DataGridTextColumn dgname = new DataGridTextColumn();
                Binding b  =new Binding();
              
              
                this.dataGrid1.Columns.Add(dgname);

    b.path我应该如何写。????????????

    2010年12月24日 2:43

答案