Я пытаюсь узнать, как связать следующий простой 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
, если я щелкну один профиль, вся группа будет выделена следующим образом:
альтернативный текст http://img38.imageshack.us/img38/4484/sberr.png
У меня явно есть концептуальная ошибка с тем, как работают элементы с привязкой к данным. Есть указатели?