共用方式為


如何:使用 SelectedValue、SelectedValuePath 和 SelectedItem

這個範例示範如何使用 SelectedValue 和 屬性來指定 的值 SelectedItemTreeViewSelectedValuePath

範例

屬性 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 的 和 EmployeeWorkDayEmployee 。 請注意, HierarchicalDataTemplate 不會將 指定 EmployeeNumber 為範本的一部分。

<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo" 
  ItemsSource ="{Binding XPath=EmployeeWorkDay}">
  <TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>

下列範例示範 TreeView 使用先前定義的 HierarchicalDataTemplate ,並將 屬性設定 SelectedValueEmployeeNumber 。 當您在 中 TreeView 選取 EmployeeName 時, SelectedItem 屬性會 EmployeeInfo 傳回對應至所選取 EmployeeName 的資料項目。 不過,由於 SelectedValuePath 這個 的 設定為 EmployeeNumber ,因此 SelectedValue 會設定為 EmployeeNumberTreeView

<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"/>

另請參閱