Инструкция по Использованию SelectedValue, SelectedValuePath и SelectedItem
В этом примере показано, как использовать свойства SelectedValue и SelectedValuePath для указания значения SelectedItem объекта TreeView.
Пример
Свойство SelectedValuePath позволяет указать SelectedValue для элемента SelectedItem в объекте TreeView. 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 и задает значение EmployeeNumber
для свойства SelectedValue. При выборе элемента 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по