WPF树视图绑定 [英] WPF tree view binding
本文介绍了WPF树视图绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在网格中显示图像文件.它们将从树视图中选择为名称,并且树视图与xml文件绑定,我正在显示图像的名称,并且我想使用我在xml中定义的ref属性,即图像的路径.
请任何人理解我的问题,并为我提供解决方案.
xml是:
< 图书馆 > ;
< 类别 =" 全部" 名称 全部" >
< 图书 =" 故事" 名称 和尚" ref = C:\ Users \ Public \ Pictures \ Sample Pictures \ page2/ >
< 图书 =" 故事" 名称 照片" ref = C:\ Users \ Public \ Pictures \ Sample Pictures \ page3/ ">> ;
< 图书 =" 恐怖" 名称 Better You" ref = C:\ Users \ Public \ Pictures \ Sample Pictures \ page4/ >
< 图书 =" 恐怖" 名称 Dracula" ref = C:\ Users \ Public \ Pictures \ Sample Pictures \ page5/ ">> ;
< /类别 >
< /库 > pre>
我将树形视图用作:
< Window.Resources >
< HierarchicalDataTemplate =" {Binding Path = Elements}" x:Key =" < TreeViewItem =" {Binding Path = Attribute [Name] .Value}" / >
< /HierarchicalDataTemplate >
<!- < XmlDataProvider x:Key ="XMLdata"源="C:\ Users \ SBS \ Desktop \ wizaed.xml"></XmlDataProvider> ->
< /Window.Resources >
< TreeView MouseUp ="_ treeView_MouseUp" Cursor ="Hand" x:Name ="_ treeView" Width ="160" Background =透明" Margin ="0, 10 ,10" BorderBrush ="Transparent" BorderThickness ="0 "
ItemsSource ="{.元素}"
ItemTemplate ="{" />
后面的代码是:
XDocument XDoc = XDocument.Parse(File.ReadAllText(@"C:\ Users \ Public \ Mylibrary.xml"));
_treeView.DataContext = XDoc;
解决方案
您是否要实现这样的目标? <
Window.Resources >
< XmlDataProvider =" XMLdata" 源 C :\ DirectoryStructure \ Library.xml" / >
< HierarchicalDataTemplate =" 库" ItemsSource {绑定XPath = Elements}" < TreeViewItem >
< TreeViewItem.Header >
< StackPanel =" < 图片 =" {Binding XPath = @ ref}" / >
< TextBlock =" {Binding XPath = @ Name}" / >
< /StackPanel >
< /TreeViewItem.Header >
< /TreeViewItem >
< /HierarchicalDataTemplate >
< /Window.Resources >
< 网格 >
< TreeView =" 手" x:Name _ treeView " 宽度 160" 背景 透明" 保证金 =" BorderBrush 透明" BorderThickness 0"
ItemsSource ="
ItemTemplate =" / <Library>
<Category CategoryName="All" Name="All">
<Book CategoryName="Story" Name="The Monk" ref=C:\Users\Public\Pictures\Sample Pictures\page2/>
<Book CategoryName="Story" Name="Photos" ref=C:\Users\Public\Pictures\Sample Pictures\page3/>
<Book CategoryName="Horror" Name="Better You" ref=C:\Users\Public\Pictures\Sample Pictures\page4/>
<Book CategoryName="Horror" Name="Dracula" ref=C:\Users\Public\Pictures\Sample Pictures\page5/>
</Category>
</Library>
and i am using the tree view as:
<Window.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Elements}" x:Key="Library">
<TreeViewItem Header="{Binding Path=Attribute[Name].Value}"/>
</HierarchicalDataTemplate>
<!--<XmlDataProvider x:Key="XMLdata" Source="C:\Users\SBS\Desktop\wizaed.xml" ></XmlDataProvider>-->
</Window.Resources>
<TreeView MouseUp="_treeView_MouseUp" Cursor="Hand" x:Name="_treeView" Width="160" Background="Transparent" Margin="0,10,10,10" BorderBrush="Transparent" BorderThickness="0"
ItemsSource="{Binding Path=Root.Elements}"
ItemTemplate="{StaticResource ResourceKey=Library}" />
and the code behind is:
XDocument XDoc = XDocument.Parse(File.ReadAllText(@"C:\Users\Public\Mylibrary.xml"));
_treeView.DataContext = XDoc;
解决方案
Are you trying to achieve something like this?<Window.Resources> <XmlDataProvider x:Key="XMLdata" Source="C:\DirectoryStructure\Library.xml" /> <HierarchicalDataTemplate x:Key="Library" ItemsSource="{Binding XPath=Elements}"> <TreeViewItem> <TreeViewItem.Header> <StackPanel Orientation="Horizontal"> <Image Source="{Binding XPath=@ref}" /> <TextBlock Text="{Binding XPath=@Name}" /> </StackPanel> </TreeViewItem.Header> </TreeViewItem> </HierarchicalDataTemplate> </Window.Resources> <Grid> <TreeView Cursor="Hand" x:Name="_treeView" Width="160" Background="Transparent" Margin="0,10,10,10" BorderBrush="Transparent" BorderThickness="0" ItemsSource="{Binding XPath=//Book, Source={StaticResource XMLdata}}" ItemTemplate="{StaticResource ResourceKey=Library}" />
这篇关于WPF树视图绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文