西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識(shí) → Windows Phone 7中的XML讀取、過濾以及數(shù)據(jù)綁定

Windows Phone 7中的XML讀取、過濾以及數(shù)據(jù)綁定

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2012/3/4 22:43:43字體大。A-A+

作者:西西點(diǎn)擊:221次評(píng)論:6次標(biāo)簽: WindowsPhone7

  • 類型:WM|WP7平臺(tái)大。1.5M語言:中文 評(píng)分:3.6
  • 標(biāo)簽:
立即下載

在這個(gè)小教程,我將演示在Windows Phone 7如何讓ListBox的數(shù)據(jù)綁定XML數(shù)據(jù)。我將使用LINQ to XML,以便加載和讀取數(shù)據(jù),而且我將展示如何實(shí)現(xiàn)一個(gè)基本的過濾。

首先讓我們先創(chuàng)建一個(gè)Windows Phone 7的應(yīng)用程序項(xiàng)目示例,并添加以下兩個(gè)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>

在這里我不得不感謝一直支持我的鹵面網(wǎng)版主,是他讓我提起興趣寫了這么一篇文章,再次感謝鹵面網(wǎng),一個(gè)非常不錯(cuò)的wp7開發(fā)論壇,后面我也將再次向大家發(fā)布幾篇高質(zhì)量文章,請(qǐng)大家到鹵面上找我吧,呵呵

    進(jìn)入正題:

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>

下一步是創(chuàng)建一個(gè)示例類將被用來存儲(chǔ)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;

在接下來的例子中,我們將通過數(shù)據(jù)的“年齡”屬性值過濾。源代碼如下:

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;

為了顯示的數(shù)據(jù),我們將使用以下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>

    金山手機(jī)助手
    (130)金山手機(jī)助手
    金山手機(jī)助手是智能手機(jī)的資源獲取平臺(tái)。金山手機(jī)控幫助手機(jī)使用者用最省流量最快捷最方便最安全的方式獲取網(wǎng)絡(luò)資源,只需通過數(shù)據(jù)線的方式將手機(jī)連接至,便可以通過金山手機(jī)助手下載海量應(yīng)用,電子書視頻音樂圖片應(yīng)有盡有,游戲應(yīng)用軟件一應(yīng)俱全。還可以通過它進(jìn)行應(yīng)用管理任務(wù)管理,圖片視頻音樂等導(dǎo)入導(dǎo)出等等。功能特色金山手機(jī)控除了自有軟件游戲?qū)殠,還提供超過萬款手機(jī)資源,不花手機(jī)流量,一鍵下載安裝。金山手機(jī)控提供的...更多>>
    91手機(jī)助手
    (17)91手機(jī)助手
    手機(jī)助手擁有無比強(qiáng)大的功能,可以方便快捷的管理和安裝手機(jī)應(yīng)用,清理無效文件,備份通訊錄,收發(fā)短信等。使用助手安卓版,通過電腦即可輕松管理智能手機(jī),下載海量的手機(jī)游戲手機(jī)軟件手機(jī)音樂手機(jī)鈴聲手機(jī)壁紙手機(jī)主題手機(jī)電影等各種手機(jī)應(yīng)用,大大節(jié)省手機(jī)流量。...更多>>
    • 華為手機(jī)助手(HiSuite)V5.0.1.301

      01-12 / 31.5M

      推薦理由:華為手機(jī)助手式華為為其旗下智能手機(jī)推出的一款手機(jī)管理工具,可以幫助華為手機(jī)用戶進(jìn)行管理手機(jī)數(shù)據(jù)聯(lián)系人
    • iOS/Android自動(dòng)化測(cè)試工具(iTesti

      07-13 / 136.8M

      推薦理由:iTestin云測(cè)試工具是免費(fèi)為移動(dòng)應(yīng)用開發(fā)者提供自動(dòng)化測(cè)試的工具。它覆蓋Android和iOS兩大設(shè)備平臺(tái),為移動(dòng)應(yīng)
    • 線刷寶線刷工具V1.4.9 Build 149 官

      01-16 / 188M

      推薦理由:線刷寶是一款安卓手機(jī)智能線刷工具,如果你的手機(jī)因?yàn)樗C(jī)失敗導(dǎo)致無法正常使用的時(shí)候,線刷寶就是你的最佳
    • 奇兔刷機(jī)V7.2.1.0 官方最新版

      02-12 / 22.3M

      推薦理由:奇兔刷機(jī)是一款安卓手機(jī)刷機(jī)工具,實(shí)現(xiàn)真正一鍵式操作體驗(yàn),指導(dǎo)用戶快速完成刷機(jī)。海量高品質(zhì)ROM資源,輕松
    • 91手機(jī)助手電腦版V6.0.3.366 官方版

      01-22 / 26.4M

      推薦理由:91助手PC端V6版震撼推出啦!91助手V5版本是一款通過電腦管理iPhone、iPad、AndroidPhone、AndroidPad等多種
    • 91手機(jī)助手 for iPhone/iPad 電腦版

      11-04 / 26.1M

      推薦理由:91手機(jī)助手是由網(wǎng)龍公司推出的智能手機(jī)PC端管理工具,全面支持iPhone/WindowsMobile/Symbians60/Android的手

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(6)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)