从XML文件[UWP]进行数据绑定

时间:2018-11-28 14:41:10

标签: xaml uwp binding

我有一个带有一些数据的xml文件,我想将其绑定到文本块。下面的代码不向文本块添加任何内容。我做错了。有什么建议吗?

XAML:

<GridView x:Name="DataGrid1">
            <GridView.ItemTemplate>
                <DataTemplate>
                    <Grid  Background="AliceBlue" Width="300" Height="200">
                        <StackPanel Orientation="Vertical">
                            <TextBlock Text="{Binding Title}"></TextBlock>
                            <TextBlock Text="{Binding Category}"></TextBlock>
                        </StackPanel>
                    </Grid>
                   </DataTemplate>
            </GridView.ItemTemplate>
        </GridView>

C#

string XMLPath = Path.Combine(Package.Current.InstalledLocation.Path, "booksData/data.xml");
            XDocument loadedD = XDocument.Load(XMLPath);

            var newData = from query in loadedD.Descendants("element")
                          select new Book
                          {
                              Title = (string)query.Attribute("title"),
                              Category = (string)query.Attribute("category")

                          };
            DataGrid1.ItemsSource = newData;

XML:

<books>
    <element>
      <category>Thriller</category>
      <description>In The Green Line, </description>
      <id>1</id>
      <image>images/greenLine.jpg</image>
      <price>10.50</price>
      <title>The Green Line</title>
    </element>

1 个答案:

答案 0 :(得分:3)

  

下面的代码不会向文本块添加任何内容。我做错了。

problem title category 是本书的Element,但不是{{ 1}}。因此,您需要像下面那样修改linq

Attribute