在中建立数据识别的应用程序覆盖

电热设备2021年09月06日

你可以使用ItemTemplate属性给控件({StaticResource RSSTemplate})应用一个模板。最后,当列表框控件中选择的项发生改变的时候,会调用TitleChanged事件(它是在SelectionChanged属性中指定的):

<StackPanel>

<TextBlock ck=\"Left\"

FontSize=\"18\"

FontWeight=\"Bold\" Margin=\"10\"

HorizontalAlignment=\"Left\">

Titles

</TextBlock>

<ListBox HorizontalAlignment=\"Left\"

Margin=\"10,0,10,10\"

Width=\"300\"

Background=\"LightYellow\"

ItemsSource=\"{Binding Source={StaticResource RSSData}, XPath=item}\"

ItemTemplate=\"{StaticResource RSSTemplate}\"

SelectionChanged=\"TitleChanged\" />

</StackPanel>

当我们选中列表框控件中的数据项的时候,应用程序在页面右边显式该数据项的描述信息。在下一步中,你希望显示标题(\"Description\"),它后面紧跟着<DockPanel>元素,这个元素又包含了一个绑定到描述元素({Binding XPath=description})的<TextBlock>元素。第二个<DockPanel>元素用于显示与选中数据项相关的URL({Binding XPath=link}),如图4所示:

<StackPanel>

<TextBlock ck=\"Left\"

FontSize=\"18\"

FontWeight=\"Bold\" Margin=\"10\"

HorizontalAlignment=\"Left\">

Description

</TextBlock>

<DockPanel HorizontalAlignment=\"Left\" Name=\"dpDescription\" Width=\"500\">

<TextBlock Name=\"txtDescription\"

ck=\"Top\"

FontSize=\"Small\"

HorizontalAlignment=\"Left\"

TextWrap=\"wrap\"

全省监测副食品价格 Margin=\"10,0,10,10\"

Background=\"Black\"

Foreground=\"White\"

TextContent=\"{Binding XPath=description}\"

/>

</DockPanel>

<DockPanel HorizontalAlignment=\"Left\"

Name=\"dpURL\"

Width=\"500\"

<TextBlock Name=\"txtURL\"

ck=\"Top\"

FontSize=\"Small\"

HorizontalAlignment=\"Left\"

TextWrap=\"wrap\"

TextContent=\"{Binding XPath=link}\"

Margin=\"10,10,10,10\"

Foreground=\"Blue\"/>

</DockPanel>

</StackPanel>

</DockPanel>

</Page>

图4:显示详细描述信息。被选中的RSS项的描述信息和

链接被绑定到TextBlock控件。当用户在列表框中选择项目的时候它们会改变。

最后,你需要完善前面提到的TitleChanged()事件。在这个事件中,当用户选择列表框控件中的某个数据项的时候,你需要改变DataContext属性的dpDescription和dpURL <DockPanel>元素:

Partial Public Class Page1

Inherits Page

Private Sub TitleChanged(ByVal sender As Object, _

ByVal args As SelectionChangedEventArgs)

Dim lstbox As ListBox = sender

If lectedItem IsNot Nothing Then

taContext = lectedItem

taContext = lectedItem

End If

End Sub

End Class

我们已经完成了!按F5测试应用程序。RSS XML文档中的数据项都显示在列表框控件中。你可以点击列表框控件中的数据项,相应的描述信息和URL就会显示在页面右侧(图1所示)。

绑定到外部的XML源

前面的例子演示了如何把XML数据岛绑定到WPF应用程序的多个控件上。在应用程序内使用XML数据岛引起的一个问题是,对XML数据的任何修改都要求修改/编译应用程序。更好的方法是把XML数据存储在外部文件中,在应用程序中引用该文件。例如,你可以把XML数据存储在l文件中,接着可以在应用程序中引用它:

<XmlDataSource x:Key=\"RSSData\" Source=\"l\" XPath=\"/rss/channel\" />

动态地载入XML源

尽管你可以引用外部的XML文件,但是更好的办法可能是从URL动态地载入XML文档。在这个例子中,你可以修改<XmlDataSource>元素:

<XmlDataSource x:Key=\"RSSData\" Source=\"\" XPath=\"/rss/channel\" />

你可以使用下面一些URL试一试,可以发现每次都载入了不同的RSS数据项:

·

·

·

·

进一步改善

在本文中你看到了在WPF中数据绑定是如何进行的。如果你希望进一步改善示例应用程序,可以考虑修改应用程序,允许用户从URL列表中选择一个(代替手动地修改XML文档源)。查看本文来源

西安治疗男科多少钱
重庆治疗包皮包茎费用
黄芪生脉饮价格多少钱
相关阅读
为什么有钱人和穷人都想退出同学群集?背后的原因很现实,很无奈

除此以外我推测了一个奇怪的现象, 明明手机号都换回了好几个, 但是微信...

2024-07-23
驻新加坡中国大使馆将开展远程视频公证试点

中新网4年底19日电 据中国人领事新加坡大东交民巷微信公众号消息,自2022年...

2023-11-21
苹果VR/AR头盔曝光 传了10年的死讯终于要实现了吗?

【CNMO新闻网】自2019年风生水起的VR/AR概念,到2021年大热的“元时空”。三巨...

2023-11-12
消息称华为将于 6 月初释出 Freebuds Pro 2 耳机等新品

IT之家 5 月末 22 日最新消息,视像该网站 @东都数君 透露,三星将于 6 月末初...

2023-10-31
千万不要随便穿著肉色的衣服…哈哈哈哈狠狠代入了!

以前的宝子们 有不会一如既往地持续保持好心情呢 如果不会也就让 以前的开...

2023-10-23
【中医妇科】肚子大的像男婴竟是巨大肌瘤惹的祸!

嘴巴大的像仰孕 身怀极大脊髓刺毛惹的祸! 本期研究专家: 佟庆 北京中...

2023-10-22
友情链接