博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF的ComboBox 数据模板自定义
阅读量:5735 次
发布时间:2019-06-18

本文共 2656 字,大约阅读时间需要 8 分钟。

WPF的ComboBox 有些时候不能满足用户需求,需要对数据内容和样式进行自定义,下面就简要介绍一下用数据模板(DataTemplate)的方式对ComboBox 内容进行定制:

原型设计如下:
步骤:
1、新建一个WPF应用程序WpfAppDemo(VS2012),并新建一个images文件夹(上传图片素材);
2、在主界面MainWindow.xaml文件中添加一个Label、ComboBox 和Button控件,如下图:
代码如下:

1 
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 34
35 36

3、在主界面MainWindow.xaml.cs文件中进行逻辑处理,代码如下:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Windows; 7 using System.Windows.Controls; 8 using System.Windows.Data; 9 using System.Windows.Documents;10 using System.Windows.Input;11 using System.Windows.Media;12 using System.Windows.Media.Imaging;13 using System.Windows.Navigation;14 using System.Windows.Shapes;15 16 17 namespace WpfAppDemo18 {19     /// 20     /// MainWindow.xaml 的交互逻辑21     /// 22     public partial class MainWindow : Window23     {24         public MainWindow()25         {26             InitializeComponent();27             //初始化数据,并绑定28             LodData();29         }30 31 32         private void LodData()33         {34             IList
customList = new List
();35 //项目文件中新建一个images文件夹,并上传了001.png,002.png,003.png36 customList.Add(new empoyee() { ID ="001", Name = "Jack" ,Image="images/001.png",Desc="this is good gay!"});37 customList.Add(new empoyee() { ID = "002", Name = "Smith", Image = "images/002.png", Desc = "this is great gay!" });38 customList.Add(new empoyee() { ID = "003", Name = "Json", Image = "images/003.png", Desc = "this is the bset gay!" });39 40 41 this.myColorComBox.ItemsSource = customList;//数据源绑定42 this.myColorComBox.SelectedValue = customList[1];//默认选择项43 44 }45 46 47 private void Button_Click(object sender, RoutedEventArgs e)48 {49 //显示选择的员工ID信息50 MessageBox.Show((this.myColorComBox.SelectedItem as empoyee).ID);51 }52 53 54 55 56 57 }58 //定义员工类59 public class empoyee60 {61 public string ID { get; set; }62 public string Name { get; set; }63 public string Image { get; set; }64 public string Desc { get; set; }65 66 }67 }

 

4、编译运行,如果运气不错的话,应该能看到如下的界面:

 

转载地址:http://pgrwx.baihongyu.com/

你可能感兴趣的文章
1112: 零起点学算法19——输出特殊值
查看>>
【洛天依】几首歌的翻唱(无伴奏)
查看>>
strcspn
查看>>
OpenSSL初瞻及本系列的博文的缘由
查看>>
ISO8583接口的详细资料
查看>>
tmux不自动加载配置文件.tmux.conf
查看>>
经验分享:JavaScript小技巧
查看>>
[MOSEK] Stupid things when using mosek
查看>>
程序实例---栈的顺序实现和链式实现
查看>>
服务的使用
查看>>
Oracle 用户与模式
查看>>
MairDB 初始数据库与表 (二)
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>