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>
    
  • 相关阅读:
    【Codeforces 349B】Color the Fence
    【Codeforces 459D】Pashmak and Parmida's problem
    【Codeforces 467C】George and Job
    【Codeforces 161D】Distance in Tree
    【Codeforces 522A】Reposts
    【Codeforces 225C】Barcode
    【Codeforces 446A】DZY Loves Sequences
    【Codeforces 429B】Working out
    【Codeforces 478C】Table Decorations
    【Codeforces 478C】Table Decorations
  • 原文地址:https://www.cnblogs.com/mgp200866130/p/6261726.html
Copyright © 2011-2022 走看看