방법: SelectedValue, SelectedValuePath 및 SelectedItem 사용
업데이트: 2007년 11월
이 예제에서는 SelectedValue 및 SelectedValuePath 속성을 사용하여 TreeView의 SelectedItem에 대한 값을 지정하는 방법을 보여 줍니다.
예제
SelectedValuePath 속성은 TreeView의 SelectedItem에 대해 SelectedValue를 지정하는 방법을 제공합니다. SelectedItem은 Items 컬렉션의 개체를 나타내며 TreeView는 선택한 항목의 단일 속성에 대한 값을 표시합니다. SelectedValuePath 속성은 SelectedValue 속성의 값을 확인하는 데 사용되는 속성에 대한 경로를 지정합니다. 이 항목의 예제에서는 이 개념을 설명합니다.
다음 예제에서는 직원 정보가 포함된 XmlDataProvider를 보여 줍니다.
<XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">
<x:XData>
<EmployeeData >
<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>
다음 예제에서는 Employee의 EmployeeName 및 EmployeeWorkDay를 표시하는 HierarchicalDataTemplate을 정의합니다. HierarchicalDataTemplate은 EmployeeNumber를 템플릿의 일부로 지정하지 않습니다.
<HierarchicalDataTemplate DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
다음 예제에서는 이전에 정의된 HierarchicalDataTemplate을 사용하고 SelectedValue 속성을 EmployeeNumber로 설정하는 TreeView를 보여 줍니다. TreeView에서 EmployeeName을 선택하면 선택한 EmployeeName에 해당하는 EmployeeInfo 데이터 항목을 SelectedItem 속성에서 반환합니다. 그러나 이 TreeView의 SelectedValuePath가 EmployeeNumber로 설정되어 있기 때문에 SelectedValue가 EmployeeNumber로 설정됩니다.
<TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData},
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"/>
전체 샘플을 보려면 SelectedValuePath를 지정하는 TreeView 샘플을 참조하십시오.