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

相关推荐
张人玉6 分钟前
C#通讯(上位机)常用知识点
开发语言·c#·通讯·上位机开发
菜果果儿10 分钟前
Vue 3 + TypeScript 常用代码示例总结
前端
前端付豪15 分钟前
实现多角色模式切换
前端·架构
从文处安16 分钟前
「九九八十一难」从回调地狱到异步秩序:深入理解 JavaScript Promise
前端·javascript
要换昵称了16 分钟前
Axios二次封装及API 调用框架
前端·vue.js
猫腻前端17 分钟前
深度图d3绘制交互逻辑
前端
搞个锤子哟18 分钟前
el-popover气泡宽度由内容撑起
前端
angerdream19 分钟前
最新版vue3+TypeScript开发入门到实战教程之Pinia详解
前端·javascript·vue.js
没想好d20 分钟前
通用管理后台组件库-14-图表和富文本组件
前端
siger20 分钟前
前端部署缓存策略实践
前端·nginx