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

相关推荐
用户409932250212几秒前
Vue中默认插槽、具名插槽、作用域插槽如何区分与使用?
前端·vue.js·github
用户298698530142 分钟前
C# Word自动化:轻松插入特殊符号,告别手动烦恼!
后端·c#·.net
zheshiyangyang5 分钟前
前端面试基础知识整理【Day-3】
前端·word
用户982361079027711 分钟前
Vite 项目优化分包填坑之依赖多版本冲突问题深度解析与解决方案
前端
陆枫Larry14 分钟前
深入浅出:CSS 中的“隐形结界”——BFC 详解
前端·css
wuhen_n15 分钟前
JavaScript 深拷贝的完全解决方案
前端·javascript
大时光16 分钟前
gsap 配置解读 --3
前端
兰亭古墨23 分钟前
钉钉工作台自建组件定时器被禁?用 Swiper 模拟 setInterval 的优雅方案
前端·钉钉
phltxy34 分钟前
Vue核心进阶:v-model深度解析+ref+nextTick实战
前端·javascript·vue.js
光泽雨36 分钟前
C#库文件调用逻辑
开发语言·c#