在写次文前先不得不说下网上的其他wpf的DataGrid绑定ComboBox的方式,看了之后真是让人欲仙欲死。

首先告诉你一大堆的模型,一大堆的控件模板,其实或许你紧紧只想知道怎么让combobox怎么显示出来而已。

惯例先上图:

达到这样的效果其实很简单,除了让数据模型之外紧紧只有几行代码。

先看数据模型:

public class VModel : INotifyPropertyChanged
{
private string _Name; public string Name
{
get { return _Name; }
set
{
if (_Name != value)
_Name = value;
OnPropertyChanged("Name");
}
} private List<string> _Desciption; public List<string> Desciption
{
get { return _Desciption; }
set {
if (_Desciption != value)
_Desciption = value;
OnPropertyChanged("Desciption");
}
} public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName)
{
if (string.IsNullOrEmpty(propertyName)) throw new ArgumentNullException("propertyName");
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
} }

后面的OnPropertyChanged无需在意    是为了达到数据动态变化   ,一般是不需要的

看下datagrid  的combobox的模板    这是重点

 <DataGrid AutoGenerateColumns="False" Height="" HorizontalAlignment="Left" Margin="12,0,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="">
<DataGrid.Columns>
<DataGridTextColumn Header="Header1" Binding="{Binding Name}" />
<DataGridTemplateColumn Header="Template">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Desciption}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

看到了 吗    总共两列 一个textbox   一个combobox  就是这么简单    除过数据模型之外紧紧几行代码就可以搞定!

数据的初始化:

List<VModel> vs = new List<VModel>();
VModel v1 = new VModel();
v1.Name = "Sean";
v1.Desciption = new List<string>();
v1.Desciption.Add("");
v1.Desciption.Add("");
v1.Desciption.Add("");
vs.Add(v1);
dataGrid1.ItemsSource = vs;

需要源码下载的请  点击加入QQ群:

不管你遇到了什么问题,我们都不会让你独自去面对!

最新文章

  1. C语言程序设计第九次作业
  2. NoSQL-Redis【1】-控制台配置密码
  3. 求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
  4. ajax的data传参的两种方式
  5. php空心菱形
  6. 常用思科设备图标(JPG+矢量图)
  7. UIButton上使用UIEdgeInsetsMake让title跟图片对齐
  8. 部署 外网 ASP.NET程序时, IIS安全性 配置 -摘自网络
  9. copy算法
  10. .NET API for RabbitMQ and ActiveMQ
  11. Mysql 保留最新的10条数据
  12. 计算Java对象内存大小
  13. Java上传和下载
  14. sklearn—特征工程
  15. “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  16. 爬取WX小程序的数据
  17. 读书笔记 C#事件event浅析(一)
  18. day21-22Redis Mahout
  19. 核心动画——Core Animation
  20. 怒学Java8系列一:Lambda表达式

热门文章

  1. gif录制工具
  2. ☀【offset() / position()】
  3. c语言_文件操作_FILE结构体解释_涉及对操作系统文件FCB操作的解释_
  4. linux中cat more less head tail 命令区别
  5. WFS
  6. 热修复 RocooFix篇(一)
  7. IIS里面网站停止了,不能启动
  8. 【JS】Intermediate3:AJAX
  9. Oracle的dmp文件的导入
  10. linux bin文件制作