导出 (0) 打印
全部展开
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文

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 系统要求

社区附加资源

添加
显示:
© 2014 Microsoft