西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → Windows Phone 7中的XML读取、过滤以及数据绑定

Windows Phone 7中的XML读取、过滤以及数据绑定

相关软件相关文章发表评论 来源:西西整理时间:2012/3/4 22:43:43字体大小:A-A+

作者:西西点击:221次评论:6次标签: WindowsPhone7

  • 类型:WM|WP7平台大小:1.5M语言:中文 评分:3.6
  • 标签:
立即下载

在这个小教程,我将演示在Windows Phone 7如何让ListBox的数据绑定XML数据。我将使用LINQ to XML,以便加载和读取数据,而且我将展示如何实现一个基本的过滤。

首先让我们先创建一个Windows Phone 7的应用程序项目示例,并添加以下两个demo xml文件。

people.xml

<?xml version="1.0" encoding="utf-8" ?>
<people>
    <person>
        <firstname>Kate</firstname>
        <lastname>Smith</lastname>
        <age>27</age>
    </person>
    <person>
        <firstname>Tom</firstname>
        <lastname>Brown</lastname>
        <age>30</age>
    </person>
    <person>
        <firstname>Tim</firstname>
        <lastname>Stone</lastname>
        <age>36</age>
    </person>
    <person>
        <firstname>Ann</firstname>
        <lastname>Peterson</lastname>
        <age>27</age>
    </person>
</people>

在这里我不得不感谢一直支持我的卤面网版主,是他让我提起兴趣写了这么一篇文章,再次感谢卤面网,一个非常不错的wp7开发论坛,后面我也将再次向大家发布几篇高质量文章,请大家到卤面上找我吧,呵呵

    进入正题:

PeopleCustom.xml

<?xml version="1.0"  ?>
<People>
    <Person
       FirstName="Kate"
       LastName="Smith"
       Age="27" />
    <Person
       FirstName="Tom"
       LastName="Brown"
       Age="30" />
    <Person
       FirstName="Tim"
       LastName="Stone"
       Age="36" />
    <Person
       FirstName="Ann"
       LastName="Peterson"
       Age="27" />
</People>

下一步是创建一个示例类将被用来存储XML元素值:

public class Person
{
    string firstname;
    string lastname;
    int age;
 
    public string FirstName
    {
        get { return firstname; }
        set { firstname = value; }
    }
 
    public string LastName
    {
        get { return lastname; }
        set { lastname = value; }
    }
 
    public int Age
    {
        get { return age; }
        set { age = value; }
    }
}

为了读取XML文件的信息,我们将使用的XDocument

所以你首先需要添加System.Xml.Linq.dll引用,然后using System.Xml.Linq;

XDocument loadedData = XDocument.Load("People.xml");
 
var data = from query in loadedData.Descendants("person")
              select new Person
              {
                  FirstName = (string)query.Element("firstname"),
                  LastName = (string)query.Element("lastname"),
                  Age = (int)query.Element("age")
              };
listBox.ItemsSource = data;

在接下来的例子中,我们将通过数据的“年龄”属性值过滤。源代码如下:

XDocument loadedCustomData = XDocument.Load("PeopleCustom.xml");
var filteredData = from c in loadedCustomData.Descendants("Person")
            where c.Attribute("Age").Value == "27"
            select new Person()
            {
                FirstName = c.Attribute("FirstName").Value,
                LastName = c.Attribute("LastName").Value
                 
            };
 
listBox1.ItemsSource = filteredData;

为了显示的数据,我们将使用以下ItemTemplates绑定ListBox控件:

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Orientation="Horizontal">
    <TextBlock Text="XML Data:"/>
    <ListBox x:Name="listBox">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Margin="10" >
                    <TextBlock Text="{Binding FirstName}"/>
                    <TextBlock Text="{Binding LastName}"/>
                    <TextBlock Text="{Binding Age}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
    <TextBlock Text="Filtered by Age 27:"/>
    <ListBox x:Name="listBox1">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Margin="20" >
                    <TextBlock Text="{Binding FirstName}"/>
                    <TextBlock Text="{Binding LastName}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</StackPanel>

    金山手机助手
    (130)金山手机助手
    金山手机助手是智能手机的资源获取平台。金山手机控帮助手机使用者用最省流量最快捷最方便最安全的方式获取网络资源,只需通过数据线的方式将手机连接至,便可以通过金山手机助手下载海量应用,电子书视频音乐图片应有尽有,游戏应用软件一应俱全。还可以通过它进行应用管理任务管理,图片视频音乐等导入导出等等。功能特色金山手机控除了自有软件游戏宝库,还提供超过万款手机资源,不花手机流量,一键下载安装。金山手机控提供的...更多>>
    91手机助手
    (17)91手机助手
    手机助手拥有无比强大的功能,可以方便快捷的管理和安装手机应用,清理无效文件,备份通讯录,收发短信等。使用助手安卓版,通过电脑即可轻松管理智能手机,下载海量的手机游戏手机软件手机音乐手机铃声手机壁纸手机主题手机电影等各种手机应用,大大节省手机流量。...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(6)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)