如何:使用 SelectedValue、SelectedValuePath 和 SelectedItem
這個範例示範如何使用 SelectedValue 和 屬性來指定 的值 SelectedItemTreeView 。 SelectedValuePath
範例
屬性 SelectedValuePath 提供在 中 TreeView 指定 SelectedValueSelectedItem 的方法。 SelectedItem表示集合中的 Items 物件,並 TreeView 顯示所選取專案之單一屬性的值。 屬性 SelectedValuePath 會指定用來判斷 SelectedValue 屬性值的屬性路徑。 本主題中的範例說明此概念。
下列範例顯示 XmlDataProvider 包含員工資訊的 。
<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>
下列範例會 HierarchicalDataTemplate 定義 ,以顯示 EmployeeName
的 和 EmployeeWorkDay
Employee
。 請注意, HierarchicalDataTemplate 不會將 指定 EmployeeNumber
為範本的一部分。
<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
下列範例示範 TreeView 使用先前定義的 HierarchicalDataTemplate ,並將 屬性設定 SelectedValue 為 EmployeeNumber
。 當您在 中 TreeView 選取 EmployeeName
時, SelectedItem 屬性會 EmployeeInfo
傳回對應至所選取 EmployeeName
的資料項目。 不過,由於 SelectedValuePath 這個 的 設定為 EmployeeNumber
,因此 SelectedValue 會設定為 EmployeeNumber
TreeView 。
<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"/>
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應