要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语
本文档已存档,并且将不进行维护。

ItemsControl.ItemContainerGenerator 属性

获取与控件关联的 ItemContainerGenerator

命名空间:  System.Windows.Controls
程序集:  PresentationFramework(在 PresentationFramework.dll 中)

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

属性值

类型:System.Windows.Controls.ItemContainerGenerator
与控件关联的 ItemContainerGenerator 默认值为 null

一个 ItemContainerGenerator,负责为其宿主(如 ItemsControl)生成 user interface (UI)。 它维持该控件的数据视图中的项和对应的 UIElement 对象之间的关联。每个 ItemsControl 都有关联项的容器,它包含项集合中的数据项。 您可以使用 ItemContainerGenerator 属性访问与 ItemsControl 关联的项容器。 例如,如果您有一个绑定了数据的 TreeView 控件,并希望基于其索引或其关联数据项获取一个 TreeViewItem,则可以使用 ItemContainerGenerator.ContainerFromIndexItemContainerGenerator.ContainerFromItem 方法。 或者,您也可以使用 ItemContainerGenerator.IndexFromContainerItemContainerGenerator.ItemFromContainer 方法来获取与给定的所生成容器元素相关联的索引或数据项。

IItemContainerGenerator 接口也可用于高级方案中。 通常,具有自己的虚拟化面板实现的高级应用程序会调用该接口的成员。

If you need to get a specific ListBoxItem at a particular index in a ListBox, you can use an ItemContainerGenerator.

The following example shows a ListBox and its items.


<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>


The following example shows how to retrieve the item by specifying the index of the item in the ContainerFromIndex property of the 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()) + ".";
}


After you have retrieved the list box item, you can display the contents of the item, as shown in the following example.


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


.NET Framework

受以下版本支持:4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求
显示: