WPF 多层绑定XML,该如何处理
发布时间:2011-06-30 07:31:04 文章来源:www.iduyao.cn 采编人员:星星草
WPF 多层绑定XML
XML文件
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b name="一" code="001">
<c cname="一.1" code="001001" />
<c cname="一.2" code="001002" />
<c cname="一.3" code="001003" />
</b>
<b name="二" code="002" />
<c cname="二.1" code="002001" />
<c cname="二.2" code="002002" />
<c cname="二.3" code="002003" />
</a>
test.xaml
<Window x:Class="Wpf1.test2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="test2" Height="300" Width="300">
<Window.Resources>
<XmlDataProvider x:Key="xmldata" Source="data/x2.xml" XPath="a/b"/>
<DataTemplate x:Key="dataTemplate2">
<Grid Width="300">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding XPath=@cname}" />
<TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding XPath=@code}" />
</Grid>
</DataTemplate>
<DataTemplate x:Key="dataTemplate1">
<Grid Width="300">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding XPath=@name}" />
<TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding XPath=@code}" />
<ListBox ItemsSource="{Binding}" ItemTemplate="{StaticResource dataTemplate2}"
Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource xmldata}}" Width="310" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15"/>
<RowDefinition/>
</Grid.RowDefinitions>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
erlang:创建表
mnesia:create_table(student, [{attributes,{name,number,sex}}]).
怎么老是提示:
{aborted,{bad_type,student,{...
-
100分求助,matlab一维矩阵变成二维矩阵,怎么感觉我写的代码这么绕呢
希望把Input矩阵(一维)变成3行4列的二维矩阵Output;我写了下面...
-
为什么没有易语言版块呢?
为什么没有易语言版块呢?
------解决方案--------------------
易语言,还不常用,交流也不比,所以无....
-
批处理的一个问题
想用批处理更改文件属性
@echo off
arrtib -R /S E:\home\*.*
exit
这样写是错误的吗?
为什么没起作用啊
--...
-
几个关于大型机的问题(新手求救啊~)
1、z/OS 和UNIX系统的相同点和相异点有哪些啊?主目录和用户目录的区别是什么啊?
2、用JCL创建一...
-
急求!如何用正则截取一对标签中的字符当中的日期
<p class="source">
<!--[if !IE]>收藏功能<!...
-
批处理代码放在U盘里,如何复制整个硬盘的时间段文件? qivsran老师的答案,谢谢!
@echo off
md 新文件
setlocal enabledelayedexpa...
-
复制文件不带目录文件夹如何修改代码?同名文件仅复制最新的
@echo off
md %computername%资料 2>nul
Cd /d %computername%资料
F...
-
求C里面 全角半角转换函数
求C里面 全角半角转换函数
------解决方案--------------------
我在别处看了,希望对你有帮助。
...
-
求助:关于qtp10 无法识别 maven自动构建flex3.6 的问题
近日遇到maven自动构建flex3.6的问题。希望大家提出宝贵意见。
问...