この例では、SelectedValueプロパティとSelectedValuePath プロパティを使用して、SelectedItemのTreeViewの値を指定する方法を示します。
例
SelectedValuePath プロパティは、SelectedValue内のSelectedItemのTreeViewを指定する方法を提供します。 SelectedItemは、Items コレクション内のオブジェクトを表し、TreeViewは、選択した項目の 1 つのプロパティの値を表示します。 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
を示しています。
EmployeeName
でTreeViewを選択すると、SelectedItem プロパティは、選択したEmployeeInfo
に対応するEmployeeName
データ項目を返します。 ただし、このSelectedValuePathのTreeViewはEmployeeNumber
に設定されているため、SelectedValueは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"/>
こちらも参照ください
.NET Desktop feedback