惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Help Net Security
Help Net Security
A
About on SuperTechFans
博客园_首页
M
MIT News - Artificial intelligence
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
量子位
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
L
LINUX DO - 最新话题
The GitHub Blog
The GitHub Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cybersecurity and Infrastructure Security Agency CISA
N
News and Events Feed by Topic
S
Security @ Cisco Blogs
A
Arctic Wolf
V
Vulnerabilities – Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Heimdal Security Blog
H
Hacker News: Front Page
Simon Willison's Weblog
Simon Willison's Weblog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
N
Netflix TechBlog - Medium
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
MyScale Blog
MyScale Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
AI
AI
L
LINUX DO - 热门话题
G
Google Developers Blog
P
Proofpoint News Feed
腾讯CDC
Schneier on Security
Schneier on Security
美团技术团队
V
V2EX
PCI Perspectives
PCI Perspectives
L
Lohrmann on Cybersecurity
Jina AI
Jina AI
博客园 - 司徒正美

博客园 - montaque

xp 与 windows 7 共享收藏夹 Microsoft ILM V2 新特性 云计算 PDC , XAML 2009以及未来 PDC , KeyNote2 个人计算,Windows 7+ Live Service PDC - C#4.0 以及未来 PDC 第一天总结 PDC 2008 让你的Expression XAML 编辑器支持智能提示 silverlight 测试 Powershell 脚本自动下载 FTP Server上面固定格式的文件 EDI batch Receiving in Biztalk 2006 R2 EDI Party Resolution in Biztalk R2 EDI in Biztalk 2006 R2 Hello,Biztalk 2006 R2 BAM, WCF 集成 Hello, Biztalk 2006 R2 BAM what's new in Biztalk 2006 R2 hello biztalk R2 Mix08
WPF/Silverlight 中利用XamlReader /Writer 来处理对象的序列化反序列化
montaque · 2008-08-12 · via 博客园 - montaque

在 Silverlight 中,有几种获取后台数据的方式。 通过会有一个Service来暴露这些数据,对于sl2 这个service可以是最简单的ASMX或者用WCF的basichttpbinding, 您可以通过添加引用来生成代理,来适用这个service。

如果只是简单的数据的话,你也可以通过访问一个远程的XML文件来获取这些数据,拿到XML之后,需要把他转换成对象。也有几种方式

  • 用xmlReader
  • 用LinqForXml
  • 用系统解析XAML的方式,也就是本文中提到的方式。其实是最简单的一种方式。

思路:

首先定义个对像,我们知道在WPF/Silverlight 的class Resource中可以加入资源,资源可以是任意的对象。

而在程序中,可以通过访问资源Key的方式拿到这些对象。事实上,他拿这些对象的时候,就是适用一个简单的XamlReader来反序列化之。

一下是一个简单的Demo

假定有一下Class

Code

这时候你可以在resource中,加上一个自己的xmlns前缀,指向这个class所有的namespace和assembly

比如在Xaml中你可以这样些,这时候有很好的智能提示。

Code

然后我们新建一个xml文件,把我们写好的xaml copy进去。删掉一些不必要的属性,不如Key。 和 class

变成一下xml

Code

然后用一下简单的代码就可以反序列化得到对象的访问。

Code

如果是Sl, 把LoadAsyc改为Load就可以了。

如果正式应用的话,可以把Xml放在服务端,然后通过webclient download,然后调用以上代码做反序列化。

然后你就可以做正常的binding,Animation了,当然要正常工作的话,属性要改为DependencyProperty