WPF(C#)中的组件1:ItemsControl

<ItemsControl>是XAML中的一个功能强大的组件,常用于动态渲染,类似VUE中的v-for。不过功能比v-for更加强大,使用方式也更加复杂。下面我将在Prism框架下,写一个简单的Demo演示ItemsControl的功能。

1.在XAML编写绑定的路径

XML 复制代码
<ItemsControl ItemsSource="{Binding Items}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <!-- 绑定到 info 属性 -->
            <TextBlock Text="{Binding Info}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

2.在VIEWMODEL中设置数据格式

cs 复制代码
//自己定义的类 
public class MyItem
 {
     public int Id { get; set; }

     public string Info { get; set; }
 }

public class MainWindowViewModel : BindableBase
{

    public MainWindowViewModel()
    {
        Items = new ObservableCollection<MyItem>
        {   
            new MyItem { Id = 1, Info = "Item 1" },
            new MyItem { Id = 2, Info = "Item 2" },
            new MyItem { Id = 3, Info = "Item 3" }
        };
    }
    
//定义类的集合
    private ObservableCollection<MyItem> items;
    public ObservableCollection<MyItem> Items
    {
        get { return items; }
        set { items = value; RaisePropertyChanged(); }
    }

}

3.执行结果

相关推荐
IT_陈寒40 分钟前
Vue这个坑我跳了两次,原来问题出在这
前端·人工智能·后端
kyriewen43 分钟前
我用 50 行代码重写了 React Router 核心,终于搞懂了前端路由原理
前端·javascript·react.js
WebInfra2 小时前
Rspack 2.1 发布:React Compiler 提速 10 倍!
前端
李明卫杭州2 小时前
CSS 媒体查询详解:一文掌握响应式设计的核心技术
前端
lichenyang4532 小时前
从 H5 按钮到 OpenHarmony 能力调用:我如何理解 ASCF 的运行链路
前端
下家3 小时前
我放弃了 Vue/React,选择自研框架
前端·前端框架
Asize3 小时前
HTML5 Canvas 基础:从按帧动画到 ECharts 数据可视化
前端·javascript·canvas
默_笙3 小时前
🎄 后端给我一堆扁平数据,我 10 行代码把它变成了树
前端·javascript
Mahut3 小时前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
前端Hardy4 小时前
又一个 AI 神器火了!
前端·javascript·后端