Win8 Metro 开发,需要用到数据绑定

想到了LINQ TO XML

以下简单的例子说明如何加载XML--》读取XML--》页面绑定

1。

在项目根目录新建一文件夹,命名为XML,文件夹内放置一 Resource.xml 文件,格式如下:

<?xml version="1.0" encoding="utf-8" ?>
<park>
<Company>
<Id>C0001</Id>
<Name>Comany 1</Name>
<Introduction>
Introduction 1
</Introduction>
<ImageUrl>Images/Company/C0001.jpg</ImageUrl>
<PointX>31.489495</PointX>
<PointY>120.373496</PointY>
</Company>
</park>

2.  加载此XML:

 public static class XmlHelper
{
public static async Task<XDocument> LoadXml()
{
StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync("XML");
StorageFile storageFile = await storageFolder.GetFileAsync("Resource.xml");
XmlLoadSettings loadSettings = new XmlLoadSettings();
loadSettings.ProhibitDtd = false;
loadSettings.ResolveExternals = false;
XmlDocument xmlDoc = await XmlDocument.LoadFromFileAsync(storageFile, loadSettings);
XDocument doc = XDocument.Parse(xmlDoc.GetXml());
var ReturnTask = Task.Factory.StartNew(() => doc);
return await ReturnTask;
}
    }

3。查询XML:

 /// <summary>
/// Search resource
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public static async Task<List<ParkData>> SearchResource(string query)
{
XDocument doc = await LoadXml();
var result = doc.Descendants("park").Elements()
.Where(x => x.Element("Name").Value.Contains(query))
.Select(x => new ParkData
{
Id = x.Element("Id").Value,
CompanyName = x.Element("Name").Value,
ImageURL = x.Element("ImageUrl").Value,
Introduction = x.Element("Introduction").Value,
PointX = x.Element("PointX").Value,
PointY = x.Element("PointY").Value
});
var ReturnTask = Task.Factory.StartNew(() => result.ToList());
return await ReturnTask;
}

页面调用:

List<ParkData> parkdata=await  XmlHelper.SearchResource(this.txbSearch.Text);

总体的流程就是这样,此处权当抛砖引玉

LINQ TO XML 应用之 Win8 Metro 开发相关推荐

  1. win8/Metro开发系七 win8 对常见数据源的解析及处理 如:xml,json,以及html代码

    首先还是那句话,我不是大牛,这些只是简单的记录一下学习的过程,没有太多面向对象和设计模式的思维,只偏基础,不喜莫笑:个人观点如果有不足之处,还望多多指教! 导语:程序开发中往往涉及到各种数据源,所以就 ...

  2. win8/Metro开发系列二 Xaml数据绑定

    首先还是那句话,我不是大牛,这些只是简单的记录一下学习的过程,没有太多面向对象和设计模式的思维,只偏基础,不喜莫笑:个人观点如果有不足之处,还望多多指教!由于学的不是太深入这里大多数是面向控件和开发介 ...

  3. VC/Wince 实现仿Win8 Metro风格界面1——设计概述和自绘Button

    转载:http://www.chawenti.com/articles/16008.html 去年用VC做了一个仿Win8 Metro风格的界面,感觉挺有意思,最近打算把实现过程和一些技术原理记录下来 ...

  4. Linq To Xml学习 - 1.LINQ to XML 概述

    LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 ...

  5. Win8 Metro App里玩XNA:ContentPipeline内容管线问题

    Win8 Metro App里玩XNA:ContentPipeline内容管线问题   开了个头 本篇中其实没有真正解决Win8里XNA的ContentPipeline(内容管线)问题,而是说明如何使 ...

  6. Win8 Metro App里玩XNA:移植XNA游戏到Win8

    Win8 Metro App里玩XNA:移植XNA游戏到Win8   Ready ! 在本文中,将把一个WindowsPhoneXNA的游戏移植到Win8 Metro(Modern)风格上,直接在Wi ...

  7. LINQ to XML 建立,读取,增,删,改

    LINQ to XML的出现使得我们再也不需要使用XMLDocument这样复杂的一个个的没有层次感的添加和删除.LINQ可以使的生成的XML文档在内存中错落有致.下面以一个小的例子说名LINQ to ...

  8. Linq初级班 Linq To XML体验(基础篇)

    LINQ To XML体验(基础) 这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还 ...

  9. LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互

    本篇包含两部分内容:X-DOM更新一节中我们会详细讨论LINQ to XML的更新方式,包括Value的更新.子节点和属性的更新.通过Parent节点实现更新: 和Value属性交互一节会详细讨论XE ...

  10. Win8 Metro(C#)数字图像处理--2.52图像K均值聚类

    原文:Win8 Metro(C#)数字图像处理--2.52图像K均值聚类  [函数名称] 图像KMeans聚类      KMeansCluster(WriteableBitmap src,int ...

最新文章

  1. 如何快速阅读一篇英文文献
  2. 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. ② | 升级 Gradle 版本 )
  3. 更有效的加载较大的Bitmap
  4. explain ref_数据库查询优化:使用explain分析sql语句执行效率
  5. android camera 实时滤镜,【Camera】Android平台Camera实时滤镜实现方法
  6. Windows Service Wrapper:将程序注册为windows系统服务工具
  7. tar压缩解压缩命令详解
  8. C#设计模式(19)——状态者模式(State Pattern)
  9. c++对数函数_DS-K1T105M-C 海康威视考勤门禁一体机 支持刷卡+密码 DS-K1T105E/M/C-C
  10. 深入浅出VC++串口编程--基于控件
  11. android经典的消费生产模式,生产消费者模式与Handler
  12. 从芯片到 AI 生态,52 岁英特尔的蜕变!
  13. 看过无数 Java GC 文章,这 5 个问题你也未必知道!
  14. 首次曝光!支付宝支付加密规则梳理,写的太好了!
  15. 锁屏界面已由组织隐藏或管理_乐视全系列 官方终结版 完美Root 双排网速 摇晃锁屏 游戏增强 黑域 屏幕助手 高级设置 省电...
  16. 在家怎么免费下载论文、专利及标准?
  17. 计算机装机拆机教程,DIY装机教程-电脑拆机图文教程详解
  18. 【Hive】报错Container is running beyond physical memory limits.4.0 GB of 4 GB physical memory used
  19. 软工网络15个人阅读作业1(201521123007谭燕)
  20. Workbench中DM建模草图修改不了的解决办法

热门文章

  1. N1 armbian cups安装hp m126a打印机
  2. 数据科学 | Pandas新手入门
  3. 有哪些让人相见恨晚的记笔记方法?
  4. ROS2机器人笔记22.02.17
  5. m3u8视频通用下载器
  6. Excel 连接数据库的两种方式
  7. 个人使用winRAR时提示我们注册激活怎么解决?
  8. HTML/CSS制作网页
  9. iNavFlight之MSP DJI协议分析
  10. 系统JNI调用和使用