WPF之XmlDataProvider使用

ops/2024/9/24 8:14:54/

1,WPF XAML支持数据提供(DataProvider),但其提供的数据只供查看不可进行修改,删除,添加等。

  • 数据提供者都继承自System.Windows.DataSourceProvider类,目前,WPF只提供两个数据提供者ObjectDataProvider,XmlDataProvider。

2,通过Xmldataprovider ,Xaml可直接读取xml文件中的数据,并可作为数据源绑定给相应的控件。

 <Window.Resources><XmlDataProvider x:Key="provider" Source="Store.xml" XPath="/Products"></XmlDataProvider></Window.Resources>
  • Source="Store.xml":数据源xml文件路径(相对路径)。
  • XPath="/Products":/:表示根节点,"/Products":表示根节点为Produces的节点。

3,作为数据源直接绑定到相应的控件。

 <ListBox ItemsSource="{Binding Source={StaticResource provider}, XPath=Product}" DisplayMemberPath="ModelName" VirtualizingPanel.ScrollUnit="Pixel" VirtualizingStackPanel.VirtualizationMode="Recycling" x:Name="listBox01" Margin="5" BorderBrush="SaddleBrown" BorderThickness="1"></ListBox>
  • 注意事项:有别于一般绑定使用的Path这里使用的是XPath。

4,效果。

 


http://www.ppmy.cn/ops/33069.html

相关文章

Matlab各个版本介绍、区别分析及推荐

MATLAB&#xff0c;由美国MathWorks公司出品&#xff0c;是一款广泛应用的商业数学软件。自其诞生之初&#xff0c;MATLAB便以其强大的矩阵计算能力、灵活的编程环境以及广泛的应用领域&#xff0c;赢得了全球科研工作者和工程师的青睐。本文将详细介绍MATLAB的各个版本&#x…

二叉树的前序遍历

目录 一、前言 二、前序遍历 三、递归 四、迭代 一、前言 接下来两天时间&#xff0c;我将详细整理二叉树的三种遍历方式---前序遍历、中序遍历、后序遍历。每种遍历方式我将主要从递归、迭代两种方式进行整理&#xff0c;之后我会单独整理Morris&#xff08;莫里斯&a…

【Linux系统编程】第十三弹---项目自动化构建工具-make/Makefile

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、背景 2、编写makefile 2、make原理 3、理解makefile 4、优化makefile 总结 1、背景 ★ 会不会写makefile&#xff0c;从…

mysql 指定根目录 迁移根目录

mysql 指定根目录 迁移根目录 1、问题描述2、问题分析3、解决方法3.1、初始化mysql前就手动指定mysql根目录为一个大的分区(支持动态扩容)&#xff0c;事前就根本上解决mysql根目录空间不够问题3.1.0、方法思路3.1.1、卸载mariadb3.1.2、下载Mysql安装包3.1.3、安装Mysql 8.353…

Mysql:常见问题

常见问题 一、查询缓存和缓冲池二、为什么表数据删掉一半,表文件大小不变?三、为何选择B+Tree作为索引的数据结构?四、为什么建议用自增ID做主键?五、正常运行的实例,数据写入后的最终落盘,是从redo log更新过来的还是从buffer pool更新过来的?一、查询缓存和缓冲池 1、缓…

Rust入门篇:数据类型

文章目录 前言整数类型浮点数类型布尔类型字符类型字符串字面量元组类型数组类型切片类型枚举类型结构体类型指针类型最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;前面我们学习了如何使用rust在控制台进行输出&#xff0c;接下来我将带给大家一些关于计算机的基础知识…

JVM笔记2--垃圾收集算法

1、如何确认哪些对象“已死” 在上一篇文章中介绍到Java内存运行时的各个区域。其中程序计数器、虚拟机栈、本地方法栈3个区域随着线程而生&#xff0c;随线程而灭&#xff0c;栈中的栈帧随着方法的进入和退出而有条不紊的执行着入栈和出栈操作。每个栈帧中分配多少内存基本上…

C++ | Leetcode C++题解之第69题x的平方根

题目&#xff1a; 题解&#xff1a; class Solution { public:int mySqrt(int x) {if (x 0) {return 0;}double C x, x0 x;while (true) {double xi 0.5 * (x0 C / x0);if (fabs(x0 - xi) < 1e-7) {break;}x0 xi;}return int(x0);} };