【发布时间】:2009-10-09 18:17:15
【问题描述】:
我正在尝试学习如何将以下简单的 XML 文件绑定到 WPF TreeView:
<?xml version="1.0" encoding="utf-8" ?>
<Profiles>
<Customer>
<Name>Customer1</Name>
<Profile>
<Version>1.0</Version>
<DisplayText>DisplayText1</DisplayText>
</Profile>
<Profile>
<Version>1.0</Version>
<DisplayText>DisplayText2</DisplayText>
</Profile>
</Customer>
<Customer>
<Name>Customer2</Name>
<Profile>
<Version>1.0</Version>
<DisplayText>DisplayText3</DisplayText>
</Profile>
</Customer>
</Profiles>
这是我尝试的 XAML 代码:
<TreeView DockPanel.Dock="Left" Height="auto" Name="treeView1" Width="217"
SelectedItemChanged="UIProfileTreeViewSelectedItemChanged"
ItemsSource="{Binding}">
<TreeView.DataContext>
<XmlDataProvider Source="Profiles.xml" XPath="/Profiles/Customer"/>
</TreeView.DataContext>
<TreeView.Resources>
<DataTemplate DataType="Customer">
<TreeViewItem Header="{Binding XPath=Name}"
ItemsSource="{Binding XPath=Profile}"/>
</DataTemplate>
<DataTemplate DataType="Profile">
<TreeViewItem Header="{Binding XPath=DisplayText}" />
</DataTemplate>
</TreeView.Resources>
</TreeView>
但是,结果阻止我在TreeView 中选择客户下的个人资料,如果我单击一个资料,整个组就会像这样突出显示:
alt text http://img38.imageshack.us/img38/4484/sberr.png
我显然对数据绑定项的工作方式存在概念性错误。有什么指点吗?
【问题讨论】:
标签: wpf visual-studio-2008 xaml data-binding treeview