WPF Xaml中创建集合
首先在xaml中创建集合是一个不可取的方法。
本方法仅作为xaml的学习。
本文略微无聊,主要是编写的东西都是老玩意。
首先是定义一个类,作为你要加载集合的模型。
结构如下
internal class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
internal class StudentList:List<Student>
{ }
class StringCollect
{
public StudentList Students { get; set; }
}
XAML中
<Window.DataContext>
<local:StringCollect x:Name="c2" >
<local:StringCollect.Students>
<local:StudentList>
<local:Student Age="" Name="A1"/>
<local:Student Age="" Name="A2"/>
<local:Student Age="" Name="A3"/>
</local:StudentList>
</local:StringCollect.Students>
</local:StringCollect>
</Window.DataContext>
<Grid>
<ListBox ItemsSource="{Binding ElementName=c2,Path=Students}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock>
<Run Text="Name:"/>
<Run Text="{Binding Name}"/>
</TextBlock>
<TextBlock Grid.Column="">
<Run Text="Age:"/>
<Run Text="{Binding Age}"/>
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
截图如下

那么还有别的方法吗?
当然了,比如XAML中的X:Array关键字
比如
<ListBox >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock>
<Run Text="Name:"/>
<Run Text="{Binding Name}"/>
</TextBlock>
<TextBlock Grid.Column="">
<Run Text="Age:"/>
<Run Text="{Binding Age}"/>
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsSource>
<x:Array Type="{x:Type local:Student}">
<local:Student Age="" Name="b1"/>
<local:Student Age="" Name="b2"/>
<local:Student Age="" Name="b3"/>
</x:Array>
</ListBox.ItemsSource>
</ListBox>
我觉得在xaml创建集合是一个比较无聊的事情。
WPF Xaml中创建集合的更多相关文章
- WPF xaml中列表依赖属性的定义
		
列表内容属性 如上图,是一个列表标题排序控件,我们需要定义一个标题列表,从而让调用方可以自由的设置标题信息. 在自定义控件时,会遇到列表依赖属性,那么该如何定义呢? 下面是错误的定义方式: /// & ...
 - 关于WPF XAML 中 Trigger的反向ExitActions
		
触发器,顾名思义,就是当满足一定条件时,会触发一些操作,比如:改变控件的透明度,显隐,宽高等等,触发器本身做了一些操作,就是触发器触发条件不符合的时候,会自动把在触发器中更改的属性还原.但,并不是所有 ...
 - WPF XAML中 Storyboard.TargetProperty设置TransformGroup指定的变换"RenderTransform.Children
		
<Grid x:Name="xx" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransfor ...
 - 标记扩展和 WPF XAML
		
本主题介绍 XAML 的标记扩展概念,包括其语法规则.用途以及底层的类对象模型. 标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能. 本主题专门详细论述了用于 WPF X ...
 - swift:创建集合视图UICollectionView
		
swift中创建集合视图和OC中差不多,主要是实现UICollectionViewDataSource数据源协议和UICollectionViewDelegateFlowLayout自定义布局协议,其 ...
 - Python MongoDB 创建集合
		
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
 - WPF 只读集合在 XAML 中的绑定(WPF:Binding for readonly collection in xaml)
		
问题背景 某一天,我想做一个签到打卡的日历.基于 Calendar,想实现这个目标,于是找到了它的 SelectedDates 属性,用于标记签到过的日期. 问题来了. 基于MVVM模式,想将其在xa ...
 - 在WPF中创建可换肤的用户界面
		
原文:在WPF中创建可换肤的用户界面 在WPF中创建可换肤的用户界面. ...
 - 使用OxyPlot在WPF中创建图表
		
目录(?)[+] Using Nuget 包括OxyPlot在你的应用程序的最简单方法是使用NuGet包管理器在Visual Studio 运行 Visual Studio并开始创建一个新的WPF项目 ...
 
随机推荐
- linux的ls命令详解
			
概述 Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录). 语法 ls [-alrtAFR] [name...] 参数 -a 显示所有文件及目录 (ls内定将文件名 ...
 - Think in Speed (关于速度的一点思考)
			
天下武功,无坚不摧,唯快不破!所以我们重视速度没毛病! 老话说:不要过早优化.赞同! 我们在写代码过程中,有时可能就是为了追求所谓的性能,然后,就给自己挖坑了. 关于开发速度,我有以下几点思考: 1. ...
 - MySQL(11)---约束
			
MySQL(11)---约束 含义: 一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性. 先把Mysql几种约束列出来: 主键约束 外键约束 唯一性约束 非空约束 默认值约束 自增约束 ...
 - 练手WPF(二)——2048游戏的简易实现(上)
			
1.创建游戏界面编辑MainWindow.xaml,修改代码如下: <Window.Resources> <Style TargetType="Label"> ...
 - go-运算符
			
算术运算符 ++,--只能放在变量后面,不能放在前面 独立使用 目的:更简洁 go语言不支持三元运算符 键盘输入 fmt.scanln 会在换行时扫描,所以最后一个条目必须换行或达到结束位置 fmt. ...
 - Python数据分析揭秘知乎大V的小秘密
			
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 清风小筑 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
 - JDBC连接mysql的url的写法和常见属性
			
URL=jdbc:mysql://[host][:port]/[database] 其后可以添加性能参数:?[propertyName1=propertyValue1] & [property ...
 - Android框架Volley之:ImageRequest请求实现图片加载
			
首先我们在项目中导入这个框架: implementation 'com.mcxiaoke.volley:library:1.0.19' 在AndroidManifest文件当中添加网络权限: < ...
 - SmobilerService 开发者日志(一):什么是 SmobilerService ,它为开发者带来了什么价值?
			
初见 SmobilerService 你会发现几个版本,以及一些价格. 所以,"Smobiler 是要收费了吗?" 这是开发团队在幕后悄悄观察 Service 推广开始后,用户向运 ...
 - Excel 扩展编程相关
			
============================产品分析============================Excel Automation Tools (Best of List)htt ...