다음을 통해 공유


방법: SelectedValue, SelectedValuePath 및 SelectedItem 사용

이 예제에서는 TreeViewSelectedItem에 대한 값을 지정하는 SelectedValueSelectedValuePath 속성의 사용 방법을 보여 줍니다.

예제

SelectedValuePath 속성은TreeView에서 SelectedItem에 대한 SelectedValue를 지정하는 방법을 제공합니다. SelectedItemItems 컬렉션의 개체를 나타내며, 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>

다음 예제는 EmployeeEmployeeNameEmployeeWorkDay를 표시하는 HierarchicalDataTemplate을 정의합니다. HierarchicalDataTemplate은 템플릿의 일부로 EmployeeNumber를 지정하지 않습니다.

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

다음 예제는 이전에 정의된 HierarchicalDataTemplate을 사용하고 SelectedValue 속성을 EmployeeNumber로 설정하는 TreeView를 보여 줍니다. TreeView에서 EmployeeName을 선택하면 SelectedItem 속성이 선택한 EmployeeName에 해당하는 EmployeeInfo 데이터 항목을 반환합니다. 그러나 이 TreeViewSelectedValuePathEmployeeNumber로 설정되어 있으므로 SelectedValueEmployeeNumber로 설정됩니다.

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

참고 항목