silverlight中如何得到ComboBox的选中值(SelectedValue)?-阿里云开发者社区

开发者社区> 杨俊明> 正文

silverlight中如何得到ComboBox的选中值(SelectedValue)?

简介: 用惯了Asp.Net中的ComboBox和ListBox,想当然的以为SL/Winform/WPF中的ComboBox也应该有类似SelectedValue的属性,但是结果很遗憾,木有! 不过,这个问题其实在Winform中就有了,这里给出三种还算简便的解决办法:1.
+关注继续查看

用惯了Asp.Net中的ComboBox和ListBox,想当然的以为SL/Winform/WPF中的ComboBox也应该有类似SelectedValue的属性,但是结果很遗憾,木有!

不过,这个问题其实在Winform中就有了,这里给出三种还算简便的解决办法:
1.参考http://www.cnblogs.com/libra163/archive/2009/01/06/1370146.html一文,自己做个新的ComboBox类,实现SelectedValue属性(这个算比较牛的做法)

2.善用ComboBoxItem的Tag属性,既然没有Value属性,何不直接用Tag属性充当Value呢?
代码如下:

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
cbo2.Items.Add(new ComboBoxItem() { Content = "content1", Tag = "tag1" });//赋值
txtMsg.Text = "Value=" + (cbo2.SelectedItem as ComboBoxItem).Tag + ";Text=" + (cbo2.SelectedItem as ComboBoxItem).Text;//取值

这种做法,个人感觉有点滑头,不过大部分情况下已经能解决问题了

3.可能这个才是MS设计人员的初衷,我在观察ComboBox.Items.Add()时,发现这Add方法接受一个Object类型的参数,Object可是万物之祖啊!也就是说,MS允许用户在这里

尽情发挥,任意扩展,不光是Value属性,还可以有Age属性,Birthday属性...只要你愿意,爱咋咋地

代码:先定义一个基础类(可以根据你的需要,随便改成Book,Person,User等其它业务类)

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
public class ItemObject{
          
public string Text { setget; }
          
public string Value { setget; }
      }

赋值:

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
cbo.Items.Clear();
            
for (int i = 0; i < 10; i++)
            {
                cbo.Items.Add(
new ItemObject() { Text = "Text" + i.ToString(), Value = "Value" + i.ToString() });
            }
            cbo.DisplayMemberPath 
= "Text";

 

取值:跟第二种做法几乎一样

img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gifCode
txtMsg.Text = "Value=" + (cbo.SelectedItem as ItemObject).Value + ";Text=" + (cbo.SelectedItem as ItemObject).Text;

 

欢迎转载,转载请注明来自菩提树下的杨过http://www.cnblogs.com/yjmyzz/archive/2009/02/12/1388865.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2917 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7830 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9445 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5478 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
1135 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3278 0
+关注
杨俊明
菩提树下的杨过 http://yjmyzz.cnblogs.com/
1097
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载