Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

ItemsControl.ItemContainerGenerator - свойство

Возвращает ItemContainerGenerator, связанное с элементом управления.

Пространство имен:  System.Windows.Controls
Сборка:  PresentationFramework (в PresentationFramework.dll)

[BindableAttribute(false)]
[BrowsableAttribute(false)]
public ItemContainerGenerator ItemContainerGenerator { get; }

Значение свойства

Тип: System.Windows.Controls.ItemContainerGenerator
ItemContainerGenerator , связанное с элементом управления. Значение по умолчанию null.

ItemContainerGenerator отвечает за создание пользовательский интерфейс для своего основного приложения, например ItemsControl. Он поддерживает ассоциацию между элементами в представлении данных элемента управления и соответствующими объектами UIElement . Каждый контейнер имеет ItemsControl связанного элемента, содержащего элемент данных в коллекции элемента. Можно использовать свойство ItemContainerGenerator для доступа к контейнеру элемента, связанного с ItemsControl. Например, если имеется данные-привязанные управление и TreeView понадобиться получить TreeViewItem на основе его индексу или его связанном элементе данных, можно использовать ItemContainerGenerator.ContainerFromIndex или метод ItemContainerGenerator.ContainerFromItem. Кроме того, можно использовать ItemContainerGenerator.IndexFromContainer или метод ItemContainerGenerator.ItemFromContainer для получения индекса или элемент данных, который связан с создаваемым данной элементом-контейнером.

Интерфейс IItemContainerGenerator также используется в сложных сценариях. Обычно сложные приложения, которые имеют собственную реализацию панели элементов virtualizing вызова интерфейса.

Если требуется получить некоторый элемент ListBoxItem с определенным индексом из списка ListBox, можно использовать средство ItemContainerGenerator.

В следующем примере показан список ListBox и его элементы.


<ListBox Margin="10,0,0,5" Name="lb" VerticalAlignment="Top" Grid.Column="0" Grid.Row="2">
    <ListBoxItem>Item 0</ListBoxItem>
    <ListBoxItem>Item 1</ListBoxItem>
    <ListBoxItem>Item 2</ListBoxItem>
    <ListBoxItem>Item 3</ListBoxItem>
</ListBox>


В следующем примере продемонстрировано, как извлечь элемент по индексу в свойстве ContainerFromIndex класса ItemContainerGenerator.


private void GetIndex0(object sender, RoutedEventArgs e)
{
  ListBoxItem lbi = (ListBoxItem)
      (lb.ItemContainerGenerator.ContainerFromIndex(0));
  Item.Content = "The contents of the item at index 0 are: " +
      (lbi.Content.ToString()) + ".";
}


После получения элемента списка, можно отобразить содержимое элемента, как показано в следующем примере.


Item.Content = "The contents of the item at index 0 are: " +
    (lbi.Content.ToString()) + ".";


.NET Framework

Поддерживается в версиях: 4.5, 4, 3.5, 3.0

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

Среда .NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft