<ItemsControl>是XAML中的一个功能强大的组件,常用于动态渲染,类似VUE中的v-for。不过功能比v-for更加强大,使用方式也更加复杂。下面我将在Prism框架下,写一个简单的Demo演示ItemsControl的功能。
1.在XAML编写绑定的路径
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- 绑定到 info 属性 -->
<TextBlock Text="{Binding Info}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2.在VIEWMODEL中设置数据格式
//自己定义的类
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.执行结果