Come utilizzare SelectedValue, SelectedValuePath e SelectedItem
In questo esempio viene illustrato come utilizzare le proprietà SelectedValue e SelectedValuePath per specificare un valore per il SelectedItem di un TreeView.
Esempio
La proprietà SelectedValuePath consente di specificare un SelectedValue per il SelectedItem in un TreeView. Il SelectedItem rappresenta un oggetto nell'insieme Items e il TreeView visualizza il valore di una singola proprietà dell'elemento selezionato. La proprietà SelectedValuePath specifica il percorso della proprietà utilizzata per determinare il valore della proprietà SelectedValue. Gli esempi in questo argomento illustrano questo concetto.
Nell'esempio seguente viene illustrato un XmlDataProvider che contiene informazioni sui dipendenti.
<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>
Nell'esempio seguente viene definita una HierarchicalDataTemplate che visualizza le EmployeeName
e le EmployeeWorkDay
del Employee
. Si noti che il HierarchicalDataTemplate non specifica il EmployeeNumber
come parte del modello.
<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
Nell'esempio seguente viene mostrato un TreeView che utilizza il HierarchicalDataTemplate definito in precedenza e imposta la proprietà SelectedValue su EmployeeNumber
. Quando si seleziona un EmployeeName
nella TreeView, la proprietà SelectedItem restituisce l'elemento di dati EmployeeInfo
corrispondente al EmployeeName
selezionato. Tuttavia, poiché il SelectedValuePath di questo TreeView è impostato su EmployeeNumber
, l'SelectedValue viene impostato sul 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"/>
Vedere anche
- TreeView
- TreeViewItem
- Panoramica di TreeView
- Argomenti su come fare
.NET Desktop feedback