`

ItemsControl模型

阅读更多
从 ItemsControl 继承的控件包含一个对象集合。 ItemsControl 的一个示例是 ListBox。可以使用 ItemsSource 属性或 Items 属性来填充一个 ItemsControl。

1、使用ItemSource属性

使用ItemSource属性,需将其绑定到一个实现IEnumerable接口的类型的实例上,系统会枚举其成员做为ItemsControl的Item。如在一个ListBox中列出系统的所有字体,并在每一项中显示字体的样式(类似于Office系列中的字体下拉菜单):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Markup;

namespace WpfApplication1
{
    /// <summary>
    /// 使用ItemSource属性,需将其绑定到一个实现IEnumerable接口的类型的实例上,
    /// 系统会枚举其成员做为ItemsControl的Item。
    /// 如在一个ListBox中列出系统的所有字体,
    /// 并在每一项中显示字体的样式(类似于Office系列中的字体下拉菜单)。
    /// </summary>
    public partial class ItemsControl模型 : Window
    {
        public ItemsControl模型()
        {
            InitializeComponent();
            // 设置绑定的数据源
            Binding binding = new Binding();
            binding.Source = Items;
            // 绑定  第一个参数为依赖的属性,第二个为绑定值
            lstFont.SetBinding(ListBox.ItemsSourceProperty, binding);
        }
       
        private List<TextBlock> Items 
        { 
            get {
                List<TextBlock> result = new List<TextBlock>();
                // 遍历系统的所有字体 
                foreach (FontFamily family in Fonts.SystemFontFamilies)
                { 
                    foreach (KeyValuePair<XmlLanguage, string> pair in family.FamilyNames)
                    {
                        TextBlock t = new TextBlock();
                        // 设置字体名称 
                        t.Text = pair.Value;
                        // 设置字体样式 
                        t.FontFamily = family;
                        t.FontSize = 12; 
                        result.Add(t); 
                    } 
                } 
                // 返回一个TextBlock的控件对象集合
                return result;
            } 
        }
    }
}
分享到:
评论

相关推荐

    wpf经典教程

    3. **ItemsControl模型**: - 使用`ItemSource`属性绑定数据集合。 - 使用`Items`属性添加或移除项目。 4. **HeaderedItemsControl模型**:结合了ItemsControl和HeaderedContentControl的功能,支持多个带有标题的...

    wpf经典教程,适用于入门选手

    - **ItemsControl模型**:表示一组数据项的集合。 - **HeaderedItemsControl模型**:带有标题的`ItemsControl`。 ### PanelDecoratorTextBlock内容模型 - **Panel内容模型**:用于布局控件的容器。 - **Decorator...

    wpf基础、wpf教程

    #### ItemsControl模型 - **列表内容**:用于显示多个项目。 - 使用 `ItemSource` 属性绑定数据源。 - 使用 `Items` 属性手动添加项目。 #### HeaderedItemsControl模型 - **带标题的列表内容**:支持带有标题的...

    WPF中ItemsControl应用虚拟化时找到子元素的方法

    然后,在事件处理程序或代码中,可以通过数据上下文和标识符来访问对应的视图模型,进而操作对应的视图元素。 2. **ItemContainerGenerator**:`ItemsControl`提供了一个`ItemContainerGenerator`属性,它负责创建...

    WPF经典教程 pdf

    - **ItemsControl模型**: - **使用ItemSource属性**:绑定数据源,自动填充控件。 - **使用Items属性**:手动添加项目集合。 - **HeaderedItemsControl模型**:结合了`HeaderedContentControl`和`ItemsControl`的...

    WPF技术 经典教程wpf

    **ItemsControl模型** - ItemsControl 支持多个项目集合的展示,常用作列表或树形结构的容器。 - **ItemSource属性**:绑定数据源。 - **Items属性**:手动添加或移除项目。 #### 4. **HeaderedItemsControl...

    DataGrid和ItemsControl实现父与子之间1:N的列表

    在.NET框架中,尤其是WPF(Windows Presentation Foundation)和Silverlight应用开发中,DataGrid和ItemsControl是两个常用的UI控件,用于展示数据。本文将深入探讨如何利用这两个控件实现1:N关系的数据绑定,即一...

    wpf经典教程(pdf)

    三、ItemsControl模型....................................... 38 1、使用ItemSource属性................................................ 38 2、使用Items属性...................................................

    动态更改ItemsControl的GroupStyle

    在WPF(Windows Presentation Foundation)开发中,ItemsControl是一个非常重要的控件,它允许我们显示一组数据项。在某些场景下,我们可能需要根据数据的特定属性或规则将这些数据分组,并为每个分组应用不同的样式...

    大胡子版WPF基础教程

    - **ItemsControl模型**: - **使用ItemSource属性**: 绑定数据集合并为每个项目提供模板。 - **使用Items属性**: 显示一个固定的数据集合。 - **HeaderedItemsControl模型**: 结合了标题和多项内容显示的特点。 #...

    WPF教程 pdf

    三、ItemsControl模型 ...................................................................................... 1、使用ItemSource 属性 .......................................................................

    WPF经典教程

    目录 WPF体系结构 .......................................................................................................................................................... 3 WPF应用程序管理 .............

    SelectedItemsBindingDemo:如何将WPF中ItemsControl的SelectedItems属性绑定到ViewModel的示例

    本示例“SelectedItemsBindingDemo”着重讲解如何将ItemsControl(如ListBox或ListView)的SelectedItems属性绑定到ViewModel(视图模型),以便在用户选择多个项目时,ViewModel能够捕获这些选择并进行相应的处理。...

    WPF 控件内容模型

    WPF控件内容模型由四个基本类构成,它们分别是`ContentControl`、`HeaderedContentControl`、`ItemsControl`以及`HeaderedItemsControl`。 1. **ContentControl**: `ContentControl`是最基础的内容模型,它允许...

    WPF经典教程之WPF控件内容模型

    在Windows Presentation Foundation (WPF)中,控件内容模型是构建用户界面的核心组成部分,它定义了控件如何呈现和管理其内容。WPF中的控件主要基于四个基本内容模型: 1. **ContentControl** - 这是最基础的内容...

    是的,这也是ItemsControl-第2部分:简约的属性编辑器

    - 在XAML中设置ItemsControl,将其ItemsSource绑定到ViewModel的属性视图模型列表,并应用数据模板。 ```xml &lt;ItemsControl ItemsSource="{Binding Attributes}" ItemTemplate="{StaticResource ...

Global site tag (gtag.js) - Google Analytics