详解WPF4DataGrid控件的基本功能

给大家讲到WPF,我们就不得不提到WinForm,之前也报导过《WPF与WinForm对比谈 多线程编程优化是关键》的技术文章,对于他们之间的优劣有了更深刻的认识。而今天我们要讲到的是WPF 4中的DataGrid空间。我们也诚挚向您推荐《让你的代码“炫”起来——WPF开发教程》。

创新互联专业网站建设,网站制作与网站建设公司,1800元做网站建设全包,免费赠送网站基础优化服务,让你的网站变得更有价值,公司拥有完善的专业网络公司流程,能够为企业提供建站服务。使用PHP+MYSQL开发可交付网站源代码;符合网站优化排名的后台管理系统;网站制作收费合理;免费进行网站备案等企业网站建设一条龙服务.

提到DataGrid 不管是网页还是应用程序开发都会频繁使用。通过它我们可以灵活的在行与列间显示各种数据。本篇将详细介绍WPF 4 中DataGrid 的相关功能。

自定义列

默认情况下,当我们为DataGrid 控件设置ItemSource 属性后,DataGrid 会根据数据类型自动生成相应的列,下表列出DataGrid 支持的四种列及其数据类型。

在创建DataGrid 时可以通过AutoGenerateColumns 属性设置列是否自动生成,从而加入自定义列。如果DataGrid 中同时包含“自动生成列”与“用户自定义列”,则首先创建“用户自定义列”。下面代码实例中分别创建这四种列:

 
 
 
 
  1.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3.         xmlns:local="clr-namespace:WPF4ControlTest"
  4.         xmlns:assembly="clr-namespace:System;assembly=mscorlib"
  5.         Title="MainWindow" Height="200" Width="500">
  6.     
  7.         
  8.                             ObjectType="{x:Type assembly:Enum}">
  9.             
  10.                 
  11.             
  12.         
  13.     
  14.     
  15.         
  16.             
  17.                 
  18.                 
  19.                 
  20.                                         SelectedItemBinding="{Binding Sex}" 
  21.                               ItemsSource="{Binding Source={StaticResource sexEnum}}"/>
  22.                 
  23.                                         Binding="{Binding Pass}"/>
  24.                 
  25.                                          Binding="{Binding Email}"/>
  26.             
  27.         
  28.     

其中每列都包含各自的数值类型,在C# 中创建Member 类及SexOpt 枚举,并将memberData 数据绑定到DataGrid:

 
 
 
 
  1. using System;
  2. using System.Windows;
  3. using System.Collections.ObjectModel;
  4. namespace WPF4ControlTest
  5. {
  6.     /// 
  7.     /// Interaction logic for MainWindow.xaml
  8.     /// 
  9.     public partial class MainWindow : Window
  10.     {
  11.         public MainWindow()
  12.         {
  13.             InitializeComponent();
  14. ObservableCollection memberData = new ObservableCollection();
  15.             memberData.Add(new Member()
  16.             {
  17.                 Name = "Joe", Age = "23", Sex = SexOpt.Male,
  18.                 Pass = true, Email = new Uri("mailto:Joe@school.com")
  19.             });
  20.             memberData.Add(new Member()
  21.             {
  22.                 Name = "Mike", Age = "20",
  23.                 Sex = SexOpt.Male, Pass = false,
  24.                 Email = new Uri("mailto:Mike@school.com")
  25.             });
  26.             memberData.Add(new Member()
  27.             {
  28.                 Name = "Lucy", Age = "25",
  29.                 Sex = SexOpt.Female, Pass = true,
  30.                 Email = new Uri("mailto:Lucy@school.com")
  31.             });
  32.             dataGrid.DataContext = memberData;
  33.         }
  34.     }
  35.     public enum SexOpt { Male, Female };
  36.     public class Member
  37.     {
  38.         public string Name { get; set; }
  39.         public string Age { get; set; }
  40.         public SexOpt Sex { get; set; }
  41.         public bool Pass { get; set; }
  42.         public Uri Email { get; set; }
  43.     }
  44. }

这样我们就可以通过自定义列的方式创建出DataGrid:

选择模式

默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改DataGrid 的选择模式。

SelectionUnit:包含Cell、FullRow 和CellOrRowHeader 三种单元选择模式。

 ◆Cell:选择单元格;

◆FullRow:选择全行;

 ◆CellOrRowHeader:可选择单元格,也可以通过点击行选择择全行;

SelectionMode:分为Extended 和Single 两种模式。

◆Extended:选择多个单元(单元格或全行,由SelectionUnit 定义);

◆Single:选择唯一单元(单元格或全行,由SelectionUnit 定义);

 
 
 
 
  1.           SelectionUnit="Cell" SelectionMode="Extended">… …
 

设置SelectionUnit 和SelectionMode 后的实例效果:

编辑

默认情况下,我们可以直接在DataGrid 中编辑数据(下表为相关的编辑命令),当然也可以通过IsReadOnly 属性将DataGrid 设置为只读方式。

 
 
 
 
  1.           SelectionUnit="Cell" SelectionMode="Extended" IsReadOnly="True">… …
 

链接:http://www.cnblogs.com/gnielee/archive/2010/04/16/wpf4-datagrid-control-basic.html

文章题目:详解WPF4DataGrid控件的基本功能
链接地址:http://www.shufengxianlan.com/qtweb/news33/70733.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联