《SilverLight2快速入门》之基本控件DataGrid

简介:
基本控件的CheckBox,RadioButton等常见控件的使用这里不再一一举例了。
今天介绍DataGrid,也顺便说点数据绑定的内容。与此雷同的可以有ListBox,ComboBox等。
本试验实现用DataGrid显示列表数据。
< UserControl  xmlns:data ="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"     x:Class ="_51CTO.lesson02.DataGrid" 
         xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    
         xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"    
         Width ="400"  Height ="300" > 
         < Grid  x:Name ="LayoutRoot"  Background ="White" > 
                 < data:DataGrid  Name ="DataGrid1"  AutoGenerateColumns ="True"  > </ data:DataGrid > 
         </ Grid > 
</ UserControl >
XMAL代码依然简单,仅仅是一个DataGrid控件,而且使用了自动产生列的方式来构建表格结构。
         public  class Student 
        { 
                 public  string Name { get; set; } 
                 public  string No { get; set; } 
        } 
 
         public partial  class DataGrid : UserControl 
        { 
                 public DataGrid() 
                { 
                        InitializeComponent(); 
 
                        List<Student> list =  new List<Student>(); 
                        Student stu =  new Student(); 
                        stu.No =  "0001"
                        stu.Name =  "Jerry"
                        list.Add(stu); 
                        stu =  new Student(); 
                        stu.No =  "0002"
                        stu.Name =  "Tom"
                        list.Add(stu); 
 
                        DataGrid1.ItemsSource = list; 
                } 
        }
C#代码就稍微多了一点,因为要构建数据源。SilverLight中无法使用DataTable?所以我们构建了一个List列表来表示数据,Student类表示数据结构。表格的ItemsSource 就是数据绑定接口。
效果如下:
你可能更想使用自定义列,DataGrid也可以定制模板,很好,很强大。
< UserControl  xmlns:data ="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"     x:Class ="_51CTO.lesson02.DataGrid2" 
         xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    
         xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"    
         Width ="400"  Height ="300" > 
         < Grid  x:Name ="LayoutRoot"  Background ="White" > 
                 < data:DataGrid  Name ="DataGrid1"  AutoGenerateColumns ="True"  > 
                         < data:DataGrid.Columns > 
                                 < data:DataGridTextColumn  Header ="学号"  Width ="100"  Binding ="{Binding No}"  /> 
                                 < data:DataGridTextColumn  Header ="姓名"  Width ="200"  Binding ="{Binding Name}"  /> 
                                 < data:DataGridTemplateColumn  Header ="操作"  Width ="100" > 
                                         < data:DataGridTemplateColumn.CellTemplate > 
                                                 < DataTemplate > 
                                                         < Button  Content ="删除" > </ Button > 
                                                 </ DataTemplate > 
                                         </ data:DataGridTemplateColumn.CellTemplate > 
                                 </ data:DataGridTemplateColumn > 
                         </ data:DataGrid.Columns > 
                 </ data:DataGrid > 
         </ Grid > 
</ UserControl >
数据绑定部分是一样的。这里没有实现删除功能,只是个装饰。效果如下:
关于DataGrid的更多内容,读者可以去摩尔森博客上看。这个控件和其它SilverLight控件一样,都在继续完善。









本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/118036,如需转载请自行联系原作者
目录
相关文章
|
存储 人工智能 测试技术
AI 驱动的开发者(MEAP)(二)(3)
AI 驱动的开发者(MEAP)(二)
108 1
|
缓存 JavaScript
vue计算属性 computed
vue计算属性 computed
101 0
|
安全 应用服务中间件 网络安全
将SSL证书设置成HTTPS的详细步骤
将SSL证书设置成HTTPS的详细步骤
|
设计模式 存储 数据库
设计模式~备忘录模式(memento)-22
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。记录快照(瞬间状态)/存盘。 目录  (1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: 代码
81 1
|
缓存 网络协议 关系型数据库
mySQL优化, my.ini 配置说明
[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-name-resolve       #禁止MySQL对外部连接进行DNS解析 skip-grant-tables #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。
1155 0
|
8天前
|
人工智能 运维 安全
|
6天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
629 22
|
6天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
13天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
1019 110