Postupy: Použití SelectedValue, SelectedValuePath a SelectedItem
Tento příklad ukazuje, jak použít vlastnosti SelectedValue a SelectedValuePath k určení hodnoty pro SelectedItemTreeView.
Příklad
Vlastnost SelectedValuePath poskytuje způsob, jak zadat SelectedValue pro SelectedItem v TreeView. SelectedItem představuje objekt v kolekci Items a TreeView zobrazí hodnotu jedné vlastnosti vybrané položky. Vlastnost SelectedValuePath určuje cestu k vlastnosti, která se používá k určení hodnoty vlastnosti SelectedValue. Příklady v tomto tématu ilustrují tento koncept.
Následující příklad ukazuje XmlDataProvider, který obsahuje informace o zaměstnanci.
<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>
Následující příklad definuje HierarchicalDataTemplate, který zobrazuje EmployeeName
a EmployeeWorkDay
Employee
. Všimněte si, že HierarchicalDataTemplate neurčuje EmployeeNumber
jako součást šablony.
<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
Následující příklad ukazuje TreeView, která používá dříve definované HierarchicalDataTemplate a která nastaví vlastnost SelectedValue na EmployeeNumber
. Když v TreeViewvyberete EmployeeName
, vrátí vlastnost SelectedItem datovou položku EmployeeInfo
, která odpovídá vybrané EmployeeName
. Protože je však SelectedValuePath tohoto TreeView nastavena na EmployeeNumber
, SelectedValue je nastavena na 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"/>
Viz také
.NET Desktop feedback