Guide pratique pour utiliser SelectedValue, SelectedValuePath et SelectedItem
Cet exemple montre comment utiliser les propriétés SelectedValue et SelectedValuePath pour spécifier une valeur pour la SelectedItem d’un TreeView.
Exemple
La propriété SelectedValuePath permet de spécifier une SelectedValue pour la SelectedItem dans un TreeView. Le SelectedItem représente un objet dans la collection Items et le TreeView affiche la valeur d’une propriété unique de l’élément sélectionné. La propriété SelectedValuePath spécifie le chemin d’accès à la propriété utilisée pour déterminer la valeur de la propriété SelectedValue. Les exemples de cette rubrique illustrent ce concept.
L’exemple suivant montre un XmlDataProvider qui contient des informations sur les employés.
<XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">
<x:XData>
<EmployeeData xmlns="">
<EmployeeInfo>
<EmployeeName>Jesper Aabergy</EmployeeName>
<EmployeeWorkDay>Monday</EmployeeWorkDay>
<EmployeeWorkDay>Wednesday</EmployeeWorkDay>
<EmployeeWorkDay>Friday</EmployeeWorkDay>
<EmployeeStartTime>8:00am</EmployeeStartTime>
<EmployeeNumber>12345</EmployeeNumber>
</EmployeeInfo>
<EmployeeInfo>
<EmployeeName>Dominik Paiha</EmployeeName>
<EmployeeWorkDay>Monday</EmployeeWorkDay>
<EmployeeWorkDay>Tuesday</EmployeeWorkDay>
<EmployeeStartTime>6:30am</EmployeeStartTime>
<EmployeeNumber>98765</EmployeeNumber>
</EmployeeInfo>
</EmployeeData>
</x:XData>
</XmlDataProvider>
L’exemple suivant définit un HierarchicalDataTemplate qui affiche les EmployeeName
et les EmployeeWorkDay
du Employee
. Notez que le HierarchicalDataTemplate ne spécifie pas la EmployeeNumber
dans le cadre du modèle.
<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
L’exemple suivant montre un TreeView qui utilise la HierarchicalDataTemplate définie précédemment et qui définit la propriété SelectedValue sur l'EmployeeNumber
. Lorsque vous sélectionnez un EmployeeName
dans le TreeView, la propriété SelectedItem retourne l’élément de données EmployeeInfo
qui correspond au EmployeeName
sélectionné. Toutefois, étant donné que la SelectedValuePath de cette TreeView est définie sur EmployeeNumber
, la SelectedValue est définie sur la EmployeeNumber
.
<TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData},
ItemTemplate={StaticResource SampleTemplate},
XPath=EmployeeInfo}"
Name="myTreeView"
SelectedValuePath="EmployeeNumber"
/>
<TextBlock Margin="10">SelectedValuePath: </TextBlock>
<TextBlock Margin="10,0,0,0"
Text="{Binding ElementName=myTreeView,
Path=SelectedValuePath}"
Foreground="Blue"/>
<TextBlock Margin="10">SelectedValue: </TextBlock>
<TextBlock Margin="10,0,0,0"
Text="{Binding ElementName=myTreeView,
Path=SelectedValue}"
Foreground="Blue"/>
Voir aussi
- TreeView
- TreeViewItem
- Vue d'ensemble de TreeView
- sujets pratiques
.NET Desktop feedback