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

相关推荐
Aevget1 分钟前
DevExpress WPF中文教程:Data Grid - 如何绑定到有限制的自定义服务(五)?
wpf
阿蒙Amon2 分钟前
C#每日面试题-索引器和迭代器的区别
开发语言·windows·c#
Sheldon一蓑烟雨任平生16 分钟前
Sass 星空(Sass + keyframes 实现星空动画)
前端·css·vue3·sass·keyframes
yangSnowy20 分钟前
Redis数据类型
数据库·redis·wpf
⑩-23 分钟前
VUE3学习
前端·javascript·vue.js
Mr Xu_27 分钟前
Vue 3 中使用 mitt 实现组件间通信的实践与解析
前端·javascript·vue.js
呃m36 分钟前
更好地使用Google Chrome
前端·chrome
巧克力芋泥包36 分钟前
Vue3 详情页跨页循环(上一条,下一条)导航功能实现
前端·javascript·vue.js
资深web全栈开发44 分钟前
分布式锁的陷阱:Redlock 真的安全吗?
分布式·安全·wpf
前端之虎陈随易1 小时前
前端通用插件开发工具unplugin v3.0.0发布
前端·typescript