你的位置:首页 > 软件开发 > ASP.net > 【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

发布时间:2016-12-17 15:00:07
一、前言 在WPF编程中,有时候我们使用DataGrid会需要在一个DataColumn中既有TextBox,也要有ComboBox或者TextBlock等其他数据显示样式。 这个时候我们就需要DataGridTe ...

一、前言

      在WPF编程中,有时候我们使用DataGrid会需要在一个DataColumn中既有TextBox,也要有ComboBox或者TextBlock等其他数据显示样式。

       这个时候我们就需要DataGridTemplateColumn去自定义我们的Column样式,通过数据类型去判断该信息是以TextBox显示还是以ComboBox来显示。

【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

 

        PS:初入WPF-MVVM模式编程的童鞋可以先了解一下what is MVVM

 

二、从数据库出发

      所谓兵马未到,粮草先行。数据库的字段应该明确告诉我们该条数据是哪个数据类型?是字符串型还是多选型?是否可编辑?

       这些清晰的信息都能为我们之后的MVVM绑定带来极大的便利。

       数据库的字段可以大致这样:

       1. ID

       2. Keyword

       3. Name

       4. Value

       5. ItemsValue (用来告知有哪些选择项)

       6. DataType (是字符串型,还是多选型,还是其他?)

       7. IsAcceptInput (显示在界面上后是否可编辑)

       范例:

【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

      我们可以从上表看出,第1与第2条数据应该是TextBox显示,而第3与第4条则是ComboBox显示。

 

三、在代码中准备好相应的枚举

      当我们准备完数据库的数据时,在代码中我们会用Dapper, EF, Nhibernate等等将数据库字段映射为相应的数据类型:

public Class ExampleInfoData{  public long Id {get;set;}  public string Keyword {get;set;}  public string PropertyName {get;set;}  public DataItem PropertyValue {get;set;}  public List<DataItem> ItemValues {get;set;}  public int DataType {get;set;}  public bool IsAcceptInput {get;set;}}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录