He,YuanHui —— 业精于勤荒于嬉,行成于思毁于随

如果你喜欢一个事,又有这样的才干,那就把整个人都投入进去,就要象一把刀直扎下去直到刀柄一样,不要问为什么,也不要管会碰到什么。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
   ItemContainerGenerator是一个用来包装数据的类,负责把数据转换(包装)成UI元素,维护多项控件的数据视图(例如,ContainerFromElement)与相应 IElement 项之间的关联,代表多项控件生成 UIElement 项。MSDN里面对ItemContainerGenerator做了比较详细的描述:
    每个 ItemsControl 类型都具有一个对应的容器类型。容器元素是包含项集合中的数据项的对象。例如,对于 ListBox,生成的容器是 ListBoxItem 控件;对于 ComboBox,它们是 ComboBoxItem 控件。
    ItemsControl 通过 IItemContainerGenerator 接口生成它的项。ItemsControl 的 ItemContainerGenerator 属性的类型为 ItemContainerGenerator,它实现的是 IItemContainerGenerator 接口。因此,你可以使用 ItemContainerGenerator 属性访问与 ItemsControl 关联的 ItemContainerGenerator 对象。例如,如果有一个绑定了数据的 TreeView,并希望基于其索引或其关联数据项获取一个 TreeViewItem,则可以使用 ItemContainerGenerator..::.ContainerFromIndex 或 ItemContainerGenerator..::.ContainerFromItem 方法。或者,你也可以使用 ItemContainerGenerator..::.IndexFromContainer 或 ItemContainerGenerator..::.ItemFromContainer 方法来获取与给定的所生成容器元素相关联的索引或数据项。
    除了这些用法之外,IItemContainerGenerator 接口还用在一些高级方案中。通常,具有自己的虚拟化面板实现的高级应用程序会调用该接口的成员。

    有时候我们需要对ListView的某一Cell进行控制,比如把一个Cell的内容设置为N/A,并将其设置为不可修改:


待续。。。。。。
posted on 2008-07-11 16:12  He,YuanHui  阅读(1547)  评论(0编辑  收藏  举报

Add to Google