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.执行结果

相关推荐
恋猫de小郭21 分钟前
AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头?
前端·人工智能·ai编程
哀木26 分钟前
给自己整一个 claude code,解锁编程新姿势
前端
程序员鱼皮30 分钟前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github
UrbanJazzerati32 分钟前
Vue3 父子组件通信完全指南
前端·面试
用户2986985301437 分钟前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
是一碗螺丝粉42 分钟前
5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力
前端·人工智能·langchain
wuhen_n44 分钟前
双端 Diff 算法详解
前端·javascript·vue.js
UrbanJazzerati44 分钟前
Vue 3 纯小白快速入门指南
前端·面试
雮尘44 分钟前
手把手带你玩转Android gRPC:一篇搞定原理、配置与客户端开发
android·前端·grpc
光影少年44 分钟前
说说闭包的理解和应用场景?
前端·javascript·掘金·金石计划