zoukankan      html  css  js  c++  java
  • WPF根据数据项获取条目控件的方法-ItemContainerGenerator

    一.方法:

    ContainerFromIndex:返回 ItemCollection 中指定索引处的项的容器。

    ContainerFromItem:返回与制定的项对应的容器(ComboxItem等条目控件)。

    Equals(Object):确定制定的Object是否等于当前的Object。

    Finalize:允许对象在垃圾回收对Object回收之前尝试释放资源并尝试其它清理操作。

    GeneratorPositionFromIndex:获取项在指定索引处的生成位置。

    GetHashCode:用作特定类型的哈希函数。

    GetType:获取当前实例的Type。

    IndexFromContainer:获取具有指定的生成的容器的项的索引。

    IndexFromGeneratorPosition:返回映射到指定GereratorPosition的索引。

    ItemFromContainer:返回与指定的容器生成的所对应的项。

    二.事件

    ItemsChanged : 当集合内的项发生变更时发生。

    三.注意

    备注
     
     ItemContainerGenerator 类维护项控件和其项容器 之间的关联。 如果某控件具有关联的ItemContainerGenerator,则能够通过该控件的属性检索它。

    您可以使用 ItemContainerGenerator 并基于项的索引来检索项或通过指定数据项来检索容器。 例如,如果您有一个绑定了数据的 Combox,并希望基于其索引获取一个 ComboxItem,则可以使用 ContainerFromIndex 方法。 如果想检索数据项,可使用 ItemFromContainer方法。

    四.示例:

    C#:

    public MyTest()
    {
        InitializeComponent();
        string[] myCollection= new string[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
       myCombox.DataContext = myCollection; } 
    static int count = 1; 
    private void Button_Click(object sender, RoutedEventArgs e)
    {
    ConmboxItem item = (ComboxItem)
      myCombox.ItemContainerGenerator.ContainerFromIndex(3); 
    item.IsExpanded = true; if (count < 5) { item.Items.Add("Child " + count.ToString()); count++; }
    }

     Xaml:

    <StackPanel x:Name="LayoutRoot" Background="White">
        <Combox x:Name="myCombox" Width="200" ItemsSource="{Binding}" Margin="5"/>
        <Button Content="Add Child to Item 4" Width="150" Click="Button_Click"/>
    </StackPanel>
    
  • 相关阅读:
    Makefile Special Built-in Target Names(Makefile内建特殊目标)
    著名的变量命名规则
    bottle py
    LuCI中文手册
    LuCI
    LuCI2 (OpenWrt web 管理界面)
    LuCI2 (OpenWrt web user interface)
    OpenWrt netifd
    加载时间/性能
    Taming the asynchronous beast with ES7
  • 原文地址:https://www.cnblogs.com/mgp200866130/p/6261726.html
Copyright © 2011-2022 走看看