博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wpf之ComboBox绑定
阅读量:6998 次
发布时间:2019-06-27

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

    

    方式一、通过泛型Dictionary绑定

ExpandedBlockStart.gif
View Code
           Dictionary<
int
string> mydic = 
new Dictionary<
int
string>() { 
            {
0,
"
aaaa
"},
            {
1,
"
bbbb
"},
            {
2,
"
cccc
"}
            };
            cobxUserType.ItemsSource = mydic;
            cobxUserType.SelectedValuePath = 
"
Key
";
            cobxUserType.DisplayMemberPath = 
"
Value
";

  然后通过cobxUserType.SelectedValue获得选中的值即可

  方法二、通过数据集绑定

    

ExpandedBlockStart.gif
View Code
  WebDictClassServices.WebDictClass webDict = 
new WebDictClass();
        
private 
void Window_Loaded(
object sender, RoutedEventArgs e)
        {
            BindCombox();
            BindCombox2(comboBox2,
0,
"
选择系列
");
            BindCombox2(comboBox3,
0,
"
选择型号
");
        }
        
//
绑定下拉控件1
        
private 
void BindCombox()
        {
            DataTable dt = webDict.GetMainBrand();
            
if (dt != 
null && dt.Rows.Count == 
0)
            {
                dt = 
new DataTable();
                DataColumn dc1 = 
new DataColumn(
"
Title
");
                DataColumn dc2 = 
new DataColumn(
"
ID
");
                dt.Columns.Add(dc1);
                dt.Columns.Add(dc2);
                DataRow row = dt.NewRow();
                row[
"
title
"] = 
"
按品牌选择
";
                row[
"
ID
"] = 
"
0
";
                dt.Rows.Add(row);
            }
            
else
            {
                DataRow row = dt.NewRow();
                row[
"
title
"] = 
"
按品牌选择
";
                row[
"
ID
"] = 
"
0
";
                dt.Rows.Add(row);
            }
            DataView dv=dt.DefaultView;
            dv.Sort=
"
 ID asc
";
            combMainBrand.ItemsSource =dv;
            
this.combMainBrand.DisplayMemberPath = 
"
Title
";
            
this.combMainBrand.SelectedValuePath = 
"
ID
";
            combMainBrand.SelectedValue = 
"
0
";
        }
        
//
绑定下拉控件
        
private 
void BindCombox2(ComboBox comb, 
int id,
string message)
        {
            DataTable dt = 
null;
            
if (id == 
0)
            {
                dt = 
new DataTable();
                DataColumn dc1 = 
new DataColumn(
"
Title
");
                DataColumn dc2 = 
new DataColumn(
"
ID
");
                dt.Columns.Add(dc1);
                dt.Columns.Add(dc2);
                DataRow row = dt.NewRow();
                row[
"
Title
"] = message;
                row[
"
ID
"] = 
"
0
";
                dt.Rows.Add(row);
            }
            
else
            {
                dt = webDict.GetCarSeriesByBrand(id);
                DataRow row = dt.NewRow();
                row[
"
Title
"] = message;
                row[
"
ID
"] = 
"
0
";
                dt.Rows.Add(row);
            }
            DataView dv = dt.DefaultView;
            dv.Sort = 
"
 ID asc
";
            comb.ItemsSource = dv;
            comb.DisplayMemberPath = 
"
Title
";
            comb.SelectedValuePath = 
"
ID
";
            
if (dt.Rows.Count!=
0)
            {
              comb.SelectedValue = dt.Rows[
0][
"
ID
"];
            }
        }
        
private 
void combMainBrand_SelectionChanged(
object sender, SelectionChangedEventArgs e)
        {
            
int id = Convert.ToInt32(combMainBrand.SelectedValue);
            BindCombox2(comboBox2, id, 
"
选择系列
");
            BindCombox2(comboBox3, Convert.ToInt32(comboBox2.SelectedValue), 
"
选择型号
");
        }
        
private 
void comboBox2_SelectionChanged(
object sender, SelectionChangedEventArgs e)
        {
            
int id = Convert.ToInt32(comboBox2.SelectedValue);
            BindCombox2(comboBox3, id, 
"
选择型号
");
        }

   三、IList绑定(类似winForm)

  

ExpandedBlockStart.gif
View Code
  
public 
class Info
    {
        
public 
int Id { 
get
set; }
        
public 
string Name { 
get
set; }
    }
       
//
绑定用户类型
        
private 
void bindUserType()
        {
            IList<Info> list = 
new List<Info>() { 
             
new Info(){ Id=
0, Name=
"
供应商
"}, 
new Info(){ 
              Id=
1, Name=
"
bbbbbb
"
             
            };
            cobxUserType.ItemsSource = list;
            cobxUserType.SelectedValuePath = 
"
Id
";
            cobxUserType.DisplayMemberPath = 
"
Name
";
        }

       

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

你可能感兴趣的文章
NG-ZORRO 7.0.1 发布,Ant Design 的 Angular 实现
查看>>
scala笔记(三)
查看>>
大数据应用安全研究报告(11家公司实践详解)
查看>>
MES之殇和工业IOT之春
查看>>
阿里云网络漏洞扫描系统AVDS(商业化)发布
查看>>
python splinter 小坑说明
查看>>
控制input输入格式
查看>>
一次XEN启动中的错误捕获
查看>>
esxi嵌套华为Fusioncomputer安装VRM几个关键步骤。
查看>>
DNS设置引起的登录延迟
查看>>
saltstack之SLS文件
查看>>
JAVA构建缓存
查看>>
解决:Loading kernel module CAP_SYS_MODULE CAP_NET_ADMIN alias netdev-eth0 instead
查看>>
wav2letter-基于深度学习的语音识别
查看>>
Java class.forname()和newinstance
查看>>
学习计划书
查看>>
[iOS Animation]-CALayer 视觉效果
查看>>
wps的ppt放映时不能完全全屏的解决方法
查看>>
我的友情链接
查看>>
本地存储
查看>>