wpf CollectionViewSource的运用
实体类:
员工类:
public class Department : ObservableCollection<Employee> { public string DepName { get; set; } public ObservableCollection<Employee> Employees { get; set; }
}
部门类:
public class Employee
{
public int Number { get; set; } //工号
public string Name { get; set; } //姓名
public string Sex { get; set; } //性别
public int BirthYear { get; set; } //出生年份
}
部门集合类:
public class DepartmentList : ObservableCollection<Department>
{
public DepartmentList()
{
ObservableCollection<Employee> employee1 = new ObservableCollection<Employee>
{
new Employee{Number=,Name="netboy",Sex="boy",BirthYear=},
new Employee{Number=,Name="dandan",Sex="girl",BirthYear=},
new Employee{Number=,Name="xiaobai",Sex="girl",BirthYear=}
}; ObservableCollection<Employee> employee2 = new ObservableCollection<Employee>
{
new Employee{Number=,Name="kaizi",Sex="girl",BirthYear=},
new Employee{Number=,Name="yangzai",Sex="gril",BirthYear=}
}; this.Add(new Department { DepName = "技术部", Employees = employee1 });
this.Add(new Department { DepName = "商务部", Employees = employee2 });
//ObservableCollection<Department> deparment = new ObservableCollection<Department>
//{
// new Department{DepName="tengfei",Employees=employee1},
// new Department{DepName="google",Employees=employee2}
//};
}
UI,XAML:
<Window x:Class="CollectionViewSourceDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CollectionViewSourceDemo.Models"
Title="MainWindow" Height="500" Width="1000">
<Window.Resources>
<local:DepartmentList x:Key="deplist"/>
<CollectionViewSource x:Key="departmentView" Source="{StaticResource ResourceKey=deplist}"/>
<DataTemplate x:Key="dtEmployees">
<StackPanel Height="50" HorizontalAlignment="Center" Width="480" VerticalAlignment="Top" Orientation="Horizontal">
<TextBlock Height="50" HorizontalAlignment="Left" Width="90" Text="{Binding Number}"/>
<TextBlock Height="50" Width="120" Text="{Binding Name}"/>
<TextBlock Height="50" Width="120" Text="{Binding BirthYear}"/>
<TextBlock Height="50" Width="120" Text="{Binding Sex}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid>
<StackPanel>
<TextBlock Width="200" Height="50" FontSize="36" Text="请选择部门:"/>
<ListBox Name="lb1" Height="100" Width="156" DisplayMemberPath="DepName" ItemsSource="{Binding Source={StaticResource departmentView}}"
HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="32" />
<TextBlock Height="62" Width="111" HorizontalAlignment="Left" VerticalAlignment="Top"
Text="{Binding Path=DepName,Source={StaticResource departmentView}}" Foreground="Red" FontSize="32" />
<TextBlock Text="员工列表" FontSize="20" Foreground="Blue"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="工号" Margin="5" />
<TextBlock Text="名字" Margin="70,5,5,5"/>
<TextBlock Text="出生日期" Margin="70,5,5,5" />
<TextBlock Text="性别" Margin="75,5,5,5"/>
</StackPanel>
<ListBox Name="lb2" ItemsSource="{Binding Path=Employees,Source={StaticResource departmentView}}"
ItemTemplate="{StaticResource dtEmployees} />
</StackPanel>
</Grid>
</Window>
wpf CollectionViewSource的运用的更多相关文章
- wpf CollectionViewSource与ListBox的折叠、分组显示,及输入关键字 Filter的筛选
在wpf中虽然ObservableCollection<T>作为ListBox的Itemsource,很好,很强大!但是CollectionViewSource与ListBox才是天作之合 ...
- WPF CollectionViewSource CollectionView
CollectionView 通俗讲就是可以对你绑定的集合可以进行 分组,排序 等功能 CollectionViewSource 根据字面意思是xxx的数据源 详细的介绍还是看 http://www ...
- wpf,CollectionViewSource,使用数据过滤 筛选 功能。
class TextListBoxVMpublic : ViewModelBase { public TextListBoxVMpublic() { var list = this.GetEmploy ...
- [wpf] collectionViewsource 排序 和分组
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase" xmlns:swd="clr-n ...
- 谈谈WPF中的CollectionView与CollectionViewSource (1)
原文:谈谈WPF中的CollectionView与CollectionViewSource (1) 谈谈WPF中的CollectionView与CollectionViewSource (1) ...
- [Wpf]在C#中添加 collectionViewSource
Products = new ObservableCollection<Product>(products); ProductOptions = new ObservableCollect ...
- 谈谈WPF中的CollectionView与CollectionViewSource
https://www.cnblogs.com/zhouyinhui/archive/2007/12/07/987076.html
- WPF绑定到集合
什么是集合视图? 集合视图是位于绑定源集合顶部的一层,您可以通过它使用排序.筛选和分组查询来导航和显示源集合,而无需更改基础源集合本身.集合视图还维护着一个指向集合中的当前项的指针.如果源集合实现了 ...
- WPF入门教程系列十八——WPF中的数据绑定(四)
六.排序 如果想以特定的方式对数据进行排序,可以绑定到 CollectionViewSource,而不是直接绑定到 ObjectDataProvider.CollectionViewSource 则会 ...
随机推荐
- win2008阿里一键环境包mysql老是1067报错
目前查看并不是染毒导致mysql无法启动,而是在mysql的配置文件中配置了log这个参数,这个参数语义不明确,请您将“--log”更改为general_log_file并添加一行“general_l ...
- Dokan[转]
原文地址:http://www.cnblogs.com/xxonehjh/p/3634889.html 因工作需要,最近与同事合作使用Dokan开发了一个虚拟磁盘的简单程序,初步实现了远程目录映射到本 ...
- openwrt下关于snmpd的一些信息
cd /tmp/ 上传: tftp -gr libnetsnmp_5.4.4-1_ar71xx.ipk 192.168.11.56 安装: opkg install libnetsnmp_5.4.4- ...
- ubuntu 14.04 cagl
libboost-atomic1.-dev libboost-atomic1.-dev libboost-chrono1.-dev libboost-dev libboost-program-opti ...
- 面试中有关C++的若干问题
面试中有关C++的若干问题 By 晴天, 2014.5.16晚 什么是多态?简要说一下C++中的多态的概念. (1)定义:多态是指相同对象收到不同消息或者不同对象收到相同消息产生不同的行为. (2)C ...
- 利用yield关键字输出杨辉三角
最近学习了下python,发现里面也有yield的用法,本来对C#里的yield不甚了解,但是通过学习python,对于C#的yield理解更深了!! 不多说了,小学生水平的表达能力伤不起.... 直 ...
- poj 1687 Buggy Sat 简单计算几何
暑期集训出的第一道一血 感觉自己萌萌哒…… 这道题本身并没有坑点 仅仅是翻译巨坑…… 解大腿在做B 安学长在做E 我闲着也没事 就一个词一个词翻译F…… 最后感觉…… 题干大多数都看不懂…… 也都没啥 ...
- JS预览图像将本地图片显示到浏览器上
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 多线程---同步函数的锁是this(转载)
class Ticket implements Runnable { private int tick = 100; Object obj = new Object(); boolean flag = ...
- ASP.NET中application对象的用法(面试题)
ASP.NET中application对象的用法 本文导读:Application对象是HttpApplicationState类的一个实例,Application状态是整个应用程序全局的.Appli ...