HierarchicalDataTemplate.ItemsSource Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает привязку для этого шаблона данных, указывающую, где найти коллекцию, представляющую следующий уровень в иерархии данных.
public:
property System::Windows::Data::BindingBase ^ ItemsSource { System::Windows::Data::BindingBase ^ get(); void set(System::Windows::Data::BindingBase ^ value); };
public System.Windows.Data.BindingBase ItemsSource { get; set; }
member this.ItemsSource : System.Windows.Data.BindingBase with get, set
Public Property ItemsSource As BindingBase
Значение свойства
Значение по умолчанию — null.
Примеры
В следующем примере ListLeagueList представляет собой список объектов League. Каждый объект League имеет Name и коллекцию объектов Division. Каждый Division имеет Name и коллекцию Team объектов, а каждый Team объект имеет Name.
<Window x:Class="SDKSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="HierarchicalDataTemplate Sample"
xmlns:src="clr-namespace:SDKSample">
<DockPanel>
<DockPanel.Resources>
<src:ListLeagueList x:Key="MyList"/>
<HierarchicalDataTemplate DataType = "{x:Type src:League}"
ItemsSource = "{Binding Path=Divisions}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType = "{x:Type src:Division}"
ItemsSource = "{Binding Path=Teams}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type src:Team}">
<TextBlock Text="{Binding Path=Name}"/>
</DataTemplate>
</DockPanel.Resources>
<Menu Name="menu1" DockPanel.Dock="Top" Margin="10,10,10,10">
<MenuItem Header="My Soccer Leagues"
ItemsSource="{Binding Source={StaticResource MyList}}" />
</Menu>
<TreeView>
<TreeViewItem ItemsSource="{Binding Source={StaticResource MyList}}" Header="My Soccer Leagues" />
</TreeView>
</DockPanel>
</Window>
В примере показано, что с помощью HierarchicalDataTemplateможно легко отобразить данные списка, содержащие другие списки. Ниже приведен снимок экрана примера.
Комментарии
Это применяется к ItemsSource свойству созданного HeaderedItemsControl объекта (например, a MenuItem или a TreeViewItem), чтобы указать, где найти коллекцию, представляющую следующий уровень в иерархии данных.
Использование текста XAML
Сведения о XAML см. в разделе о типе Binding .