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 则会 ...
随机推荐
- RTL-SDR基础环境安装
安装 cmake and libusb apt-get install cmake apt-get -dev 安装 RTL-SDR sudo apt-get install rtl-sdr kali已 ...
- firebug的调试,console
console.log() console.warn() 警告 console.error() 错误 console.group() 分组 console.grounpEnd() 分组结束 co ...
- 《JS权威指南学习总结--第五章语句》
内容要点: 一.throw语句 所谓异常是当发生了某种异常情况或错误时产生的一个信号. 抛出异常就是用信号通知发生了错误或异常状况. 捕获异常时指处理这个信号,即采取必要的手段 ...
- 浙大pat 1029题解
1029. Median (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given an incre ...
- 背包类问题解答——poj3624分析
习题网址:http://poj.org/problem?id=3624 试题分析:该类题通过限定物品总数量.总质量:并且初始化每个物品的起始质量和一个量化的性质.最后求解最值的量化性质的值是多少的问题 ...
- MySQL字符串类型
VARCHAR类型用于存储变长字符串,它会删除末尾的所有空格,它比定长字符串更省空间,因为它仅使用必要的空间(越短的字符串占用越少),VARCHAR会用1或2个额外字节记录字符串长度(如果字符串长度不 ...
- 8.多线程和Socket通信
一.多线程 1.进程的概念: 进程就是应用程序的执行实例,有独立的内存空间和系统资源.当一个应用程序没有执行的时候,它就不是一个进程. 2.进行的特征: (1)动态性:动态产生动态消亡. (2)并 ...
- HDU 1240 Asteroids!(BFS)
题目链接 Problem Description You're in space.You want to get home.There are asteroids.You don't want to ...
- HUST 1339 Reversal(字符串)
题目链接 题解:将每个单词倒置,可以用char数组,然后用空格分隔,这里用的是string和stringstream. #include <cstdio> #include <ios ...
- 七牛 在线管理 v0.1
<?php // @codingStandardsIgnoreFile require_once __DIR__.'/../vendor/autoload.php'; use Qiniu\Aut ...