`

使用Items属性

阅读更多
随 WPF 附带的每个 ItemsControl 具有一个对应的类,该类代表 ItemsControl 中的一个项。下表列出了随 WPF 附带的 ItemsControl 对象及其相应的项容器。

ItemsControl  项容器

ComboBox   ComboBoxItem

ContextMenu  MenuItem

ListBox   ListBoxItem

ListView  ListViewItem

Menu    MenuItem

StatusBar  StatusBarItem

TabControl  TabItem

TreeView  TreeViewItem

<Window x:Class="WpfApplication1.使用Items属性"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="使用Items属性" Height="300" Width="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="82*" />
            <RowDefinition Height="96*" />
            <RowDefinition Height="84*" />
        </Grid.RowDefinitions>

        <!--方法一-->
        <ListBox Grid.Row="0">
            <ListBox.Items>
                <ListBoxItem>
                    Item A  
                </ListBoxItem>
                <ListBoxItem>
                    <TextBlock Text="Item B" /> 
                </ListBoxItem>
            </ListBox.Items>
        </ListBox>
       
        <!--方法二,省略ListBox.Items-->
        <ListBox Grid.Row="1">
            <ListBoxItem>
                Item A
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Item B" /> 
            </ListBoxItem>
        </ListBox>
       
        <!--方法三,省略ListBoxItem-->
        <ListBox Grid.Row="2">
            <ListBox.Items>
                Item A 
                <TextBlock Text="Item B" />
            </ListBox.Items>
        </ListBox>
    </Grid>
</Window>

四、HeaderedItemsControl模型
HeaderedItemsControl 从 ItemsControl 类继承。HeaderedItemsControl 定义 Header 属性,该属性遵从相同的规则,因为 HeaderedContentControl. WPF 的 Header 属性附带三个从 HeaderedItemsControl 继承的控件:MenuItem、ToolBar、TreeViewItem

HeaderedItemsControl模型可以理解为如下结构:一个HeaderedItemsControl包含一个Items集合,每一个Item包含一个Header属性,一个子Items集合,以TreeView和TreeViewItem为例:
<Window x:Class="WpfApplication1.HeaderedItemsControl模型"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="HeaderedItemsControl模型" Height="300" Width="300">
    <Canvas>
        <TreeView>
            <TreeView.Items>
                <TreeViewItem>
                    <TreeViewItem.Header>
                        <TextBlock Text="Root Node A" />
                        </TreeViewItem.Header>
                    <TreeViewItem.Items>
                        <TextBlock Text="A - 1" />      
                            <TreeViewItem> 
                                <TreeViewItem.Header> 
                                    <TextBlock Text="A - 2" />
                                </TreeViewItem.Header> 
                                <TreeViewItem.Items>
                                    <TextBlock Text="A - 2 - 1" /> 
                                    <TextBlock Text="A - 2 - 2" /> 
                                    <TextBlock Text="A - 2 - 3" />
                                </TreeViewItem.Items> 
                            </TreeViewItem> 
                        </TreeViewItem.Items>
                </TreeViewItem>
                <TreeViewItem>
                    <TreeViewItem.Header>Tree Node B</TreeViewItem.Header>
                    <TreeViewItem.Items>
                        <TextBlock>B-1</TextBlock>
                        <TreeViewItem>
                            <TreeViewItem.Header>
                                B_B_1
                            </TreeViewItem.Header>
                            <TextBlock>B-B_1</TextBlock>
                            <TextBlock>B-B_2</TextBlock>
                        </TreeViewItem>
                    </TreeViewItem.Items>
                   
                </TreeViewItem>
            </TreeView.Items>
        </TreeView>
    </Canvas>
</Window>



分享到:
评论

相关推荐

    两个listbox之间内容转移

    我们可以使用Items属性进行添加、删除或读取操作。例如,`ListBox1.Items.Add('Item1')`用于添加一个新的项,而`ListBox1.Items[0]`则可以访问第一项的文本。 要实现选中项的转移,我们首先需要遍历Listbox1的Items...

    c#试题及答案 (3).pdf

    15. 引用ListBox最后一个数据项,使用Items属性结合Items.Count-1索引。 16. 引用ListBox当前被选中的数据项,使用SelectedIndex属性。 这些知识点对于理解和编写C#程序至关重要,它们涉及到数据访问、用户界面交互...

    C# checkedListBox使用举例

    通过代码,可以创建新的CheckedListBox对象,并使用Items属性添加项目: ```csharp CheckedListBox checklistBox = new CheckedListBox(); checkedListBox.Items.AddRange(new object[] {"项目1", "项目2", "项目3...

    ASP.NETRepeater控件的应用

    6. 如果需要在代码后面访问或操作数据项,可以使用Items属性。 **Repeater控件的优势:** - 高度可定制性:由于Repeater不提供内置的布局,所以开发者可以完全控制每个数据项的HTML结构。 - 性能优化:由于...

    ControlItems.zip

    上次上传的大家说有问题,是我没演示怎么使用items属性,我进行了改进, 大家可以看看类似datagrid的列属性items是怎么实现的。代码注视完整,开发平台vs2005,代码语言C#。

    微信小程序在页面中使用计算属性,监听

    本文将详细介绍如何在微信小程序的页面中使用计算属性和监听,以及它们在实际开发中的应用。 **计算属性** 计算属性在微信小程序中主要用于根据其他数据动态计算出新的值。它可以帮助开发者避免在模板中编写复杂的...

    C#中使用属性控件添加属性窗口.doc

    本文将详细介绍如何在C#中使用属性控件添加属性窗口。 首先,你需要在Visual Studio .NET环境中创建一个新的Windows应用程序项目。在工具箱(Toolbox)上右键单击,选择“添加/移除项”(Add/Remove Items),然后...

    chest items_chest_

    这里的"library"可能存储了与宝箱系统相关的各种物品数据,例如物品的属性、模型、纹理贴图等。 综上所述,"Chest Items: Chest_" 可能是一个游戏项目中的核心模块,用于管理、显示和交互宝箱中的各种物品。开发者...

    outlook duplicate items remover

    Outlook Duplicate Items Remover的工作原理是通过比较各项目的关键属性,如邮件的发件人、收件人、主题和日期,来确定是否为重复项。对于联系人,它会检查姓名、电子邮件地址和其他相关字段。在扫描完成后,软件...

    05 angular4.x组件 声明属性 绑定数据 绑定属性 数据循环3- toDolist(下).zip

    本课程“05 angular4.x组件 声明属性 绑定数据 绑定属性 数据循环3- toDolist(下)”深入探讨了如何在Angular组件中声明属性、绑定数据以及使用数据循环来呈现列表。下面我们将详细阐述这些关键概念。 1. **组件声明...

    C# 属性练习 属性

    自从C# 3.0引入后,对于没有特殊逻辑的属性,可以使用自动实现的属性,简化代码: ```csharp public int Balance { get; set; } ``` 3. **只读属性(ReadOnly Properties)** 当你只想让外部代码读取但不允许...

    C#控件用法 属性方面

    - Items属性:包含下拉列表中的项目集合。 - SelectedIndex属性:获取或设置当前选中的项的索引。 - DropDownStyle属性:设置下拉框的样式,如简单下拉列表或组合框。 7. ListBox和ListView控件: - Items属性...

    Delphi 修改内存保护属性.rar

     ListBox1.Items.Add('所分配保护属性: ' DisplayProtections(MemInfo.AllocationProtect));  ListBox1.Items.Add('访问的保护属性: ' DisplayProtections(MemInfo.Protect));  case MemInfo.State of  MEM_...

    dynamic动态添加属性

    在本场景中,我们讨论的是如何在WPF应用中,利用MVVM模式和`dynamic`关键字来动态地为对象添加属性,并将其绑定到`DataGridView`控件中。 `dynamic`关键字允许我们在编译时不检查对象的方法或属性是否存在,而是在...

    Dx PivotGridControl 详细属性及使用方法

    3. 自定义汇总:利用ValueItems属性,可以定义自定义汇总类型,如平均值、最大值等。`pivotGridControl.Fields["FieldName"].SummaryType = SummaryType.Average;` 4. 用户交互:开启AllowCustomization属性后,...

    DataList控件属性大全

    16. **Items, ItemStyle, ItemTemplate**:Items集合包含了DataList中的所有DataListItem对象,ItemStyle和ItemTemplate则用于定义常规项的样式和模板。 17. **RepeatColumns, RepeatDirection, RepeatLayout**:...

    属性和索引器教学

    提供的幻灯片可能涵盖了属性和索引器的基本概念、使用场景、最佳实践以及常见问题。通过学习这些幻灯片,你可以更深入地了解它们在实际项目中的应用,如何设计和优化属性及索引器,以及如何解决可能出现的问题。 ...

    QListWidget基础和属性设置.7z

    本教程将深入探讨QListWidget的基础使用和属性设置,帮助开发者更好地理解和应用这个组件。 首先,QListWidget的基本用法包括创建、添加项以及设置项的属性。创建一个QListWidget非常简单,只需在代码中声明并初始...

Global site tag (gtag.js) - Google Analytics