Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
--------------------------------------------------------------------------------
引用或转载时请保留以下信息:
大可山 [MSN:a3news(AT)hotmail.com]
http://www.zpxp.com http://www.brawdraw.com
萝卜鼠在线图形图像处理
--------------------------------------------------------------------------------
上篇:Windows Presentation Foundation(WPF)中的数据绑定(控件与控件值的绑定) 一文中讲了使用{Binding ElementName=xxx,Path=xxx}的形式实现了控件到控件的绑定,注意它使用了ElementName属性。本篇将说说如何使用XmlDataProvider作控件绑定,但它使用Source 属性。
对于大多数应用程序,我们希望绑定到XML或 .NET 对象。比如XML文件或者自定义的.Net对象,或者是我们从数据库中取出的相应记录。
XAML 用其 Provider 对象支持该操作。XAML 中内置有两种类型的数据提供程序:ObjectDataProvider 和 XMLDataProvider。其中,ObjectDataProvider 用于绑定到 .NET 对象以及从 .NET 对象绑定;XMLDataProvider 用于绑定到 XML 片段和文档以及从 XML 片段和文档进行绑定。
2. XMAL文件内部数据的直接绑定:
首先我们来看看直接在XAML中如何使用XMLDataProvider进行内部数据的直接绑定。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WPFDataBinding.Window1"
x:Name="Window"
Title="Window1"
>
<Canvas x:Name="LayoutRoot">
<StackPanel Width="214" Height="Auto">
<StackPanel.Resources>
<XmlDataProvider x:Key="FavoriteColors">
<x:XData>
<Colors xmlns="">
<Color>红</Color>
<Color>橙</Color>
<Color>黄</Color>
<Color>绿</Color>
<Color>蓝</Color>
<Color>靛</Color>
<Color>紫</Color>
</Colors>
</x:XData>
</XmlDataProvider>
</StackPanel.Resources>
<TextBlock HorizontalAlignment="Center" FontWeight="Bold">
喜欢的颜色
</TextBlock>
<ListBox Width="200" Height="120"
ItemsSource="{Binding Source={StaticResource FavoriteColors}, XPath=/Colors/Color}">
</ListBox>
</StackPanel>
</Canvas>
</Window>
可以看到,在 StackPanel 的资源(<StackPanel.Resources> )中,有一个 XMLDataProvider 对象。x:Key 表示 Binding 对象中用来引用它的名称。这里,我们创建了 XML 内联数据(数据使用<x:XData>标签包含起来,关于XData的细节,建议你查查MSDN:ms-help://MS.LHSMSSDK.1033/MS.LHSNETFX30SDK.1033/wpf_conceptual/html/7ce209c2-621b-4977-b643-565f7e663534.htm,有更详细的说明),用作数据绑定的源。在 ListBox 的 Binding 中,使用FavoriteColors的StaticResource作为Source。如果某个数据源位于 XAML 文档中,我们就要指定该对象是一个静态源(StaticResource),正如这里所看到的一样。最后,我们使用 XPath 语句指定应该使用 XML 文档中的哪个集合来填充 ListBox。
最后的结果:
Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)的更多相关文章
- Windows Presentation Foundation (WPF)中的命令(Commands)简述
原文:Windows Presentation Foundation (WPF)中的命令(Commands)简述 ------------------------------------------- ...
- Windows Presentation Foundation (WPF) 项目中不支持xxx的解决
一般Windows Presentation Foundation (WPF) 项目中不支持xxx都是由于没引用相应的程序集导致,比如Windows Presentation Foundation ( ...
- WPF中。。DataGrid 实现时间控件和下拉框控件
DatePicker 和新的 DataGrid 行 用户与 DataGrid 中日期列的交互给我造成了很大的麻烦. 我通过将一个 Data Source 对象拖动到 WPF 窗口上,创建了一个 Dat ...
- WPF中在摄像头视频上叠加控件的解决方案
一.视频呈现 前段时间,在一个wpf的项目中需要实时显示ip摄像头,对此的解决方案想必大家都应该知道很多.在winform中,我们可以将一个控件(一般用panel或者pictruebox)的句柄丢给摄 ...
- 针对Windows 64位系统中Matlab没有LED Control Activex控件的解决方法
Win 10 64bits系统中Matlab 64位软件没有LED Control Activex控件,LED ActiveX Control控件位于Gauges Blockset模块中,而Gauge ...
- ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作
说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...
- WPF中查找指定类型的父控件
/// <summary> /// 查找父控件 /// </summary> /// <typeparam name="T"></type ...
- WPF入门教程系列十五——WPF中的数据绑定(一)
使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面,同时 WPF提供了数据绑定功能.WPF的数据绑定跟Winform与ASP.NET中的数 ...
- WPF中的数据绑定!!!
引用自:https://msdn.microsoft.com/zh-cn/magazine/cc163299.aspx 数据点: WPF 中的数据绑定 数据点 WPF 中的数据绑定 John Pap ...
随机推荐
- 25、驱动调试之打印到proc虚拟文件
1.dmesg指令是通过读/proc/kmsg来获取打印信息,也可以通过cat /proc/kmsg打印: 说明:kmsg是环形缓存区,只能读一次 2.内核中fs/proc目录下有相关文件,比如pro ...
- matlab 程序发布
将matlab程序发布为可执行程序包 说明,这种可执行程序包可以在没有安装matlab的计算机上运行. 1. 打开Applicaiton Compler 如果下拉列表中没有这个APPLICATIOND ...
- 关于心理的二十五种倾向(查理·芒格)-3
9)回馈倾向人们早就发现.和猿类,猴类,狗类等其它很多认知能力较为低下的物种同样,人类身上也有以德报德,以牙还牙的极端倾向:这样的倾向明显能够促进有利于成员利益的团体合作.这跟非常多社会性的动物的基因 ...
- rabbitmq.config详细配置参数
原文:rabbitmq.config详细配置参数 rabbitmq.config详细配置参数 详细使用方法请点击:http://blog.csdn.net/Super_RD/article/detai ...
- Docker CE for Windows安装使用
原文:Docker CE for Windows安装使用 官网下载并安装Docker CE for Windows IDEA连接Docker Docker一些常用命令 Docker for windo ...
- java中关于File类的mkdirs()和FIle()构造方法在windows环境内网测试总结
环境:环境是内网windows,传入路径的时候不带盘符,并且服务器的win10也不是超级管理员账户 关于File类的mkdirs()远程访问创建不了文件和路径的问题. 如果浏览器操作者是windows ...
- dbvisualizer 使用笔记
快捷键:CTRL+SHIFT+F 格式化选中的sql语句 导入导出数据操作 导入: 1.将Exel文件另存为csv文件 2.在dbvisualizer中点击开发数据库,如test_dev,然后在te ...
- 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用
原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ...
- WPF+SignalR实现用户列表实时刷新
原文:WPF+SignalR实现用户列表实时刷新 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/details/5 ...
- 【t076】竞赛排名
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某市组织了一次中学生科技全能竞赛,每个选手要参加数学.物理.化学.天文.地理.生物.计算机和英语共八项 ...