永发信息网

[Siverlight入门系列]MVVM模式下如何让下拉框ComboBox默认选中第一项

答案:1  悬赏:20  手机版
解决时间 2021-01-24 16:09
[Siverlight入门系列]MVVM模式下如何让下拉框ComboBox默认选中第一项
最佳答案
但MVVM模式下,就不那么方便了,需要绑定SelectedItem,例如:1:2:={Binding Months}3:SelectedItem
={Binding Month, Mode=TwoWay}/  似乎可行,但如果是默认加载第一项的话,这个SelectedItem就应该是绑定源更新以后的ItemSource.FirstOrDefault(),为何要双向绑定呢?有一点不太爽。有没有其它办法呢?很简单,继承ComboBox,写一个控件,让它默认选中第一项,就解决这个问题了,不用绑定SelectedItem。
  ={Binding Months}/  自定义ComboBox控件代码如下,也非常简单,思路就是ItemSource更新以后就自动默认选中第一行即可:1:publicclassCustomComboBox : ComboBox2:{3:/// value); }26:}27:28:publicnewstaticreadonlyDependencyProperty SelectedItemProperty =29:DependencyProperty.Register(
SelectedItem,
typeof(object),
typeof(CustomComboBox),
30:newPropertyMetadata((o, e) = ((CustomComboBox)o).SetSelectedItem()));31:32:privatevoidSetSelectedItem()33:{34:if(Items.Count 0)35:base
.SelectedIndex = 0;36:37://var value = SelectedItem;38://if (Items.Count 0 && value != null)39://{40:// base.SelectedIndex = Items.IndexOf(value);41://}42:}43:44:protectedoverridevoidOnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)45:{46:base
.OnItemsChanged(e);47:SetSelectedItem();48:}49:}  如果你觉得代码好用就拿过去,否则请分享更好的代码。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
五个手指,收回大拇指,打一成语
法人的民事行为能力与自然人民事行为能力相比
风水上家里要放什么样的财箱
咨询工程师在项目前期准备阶段的工作包括:①
金汇金融和陆金所那个好
给人起名字叫王雨什么可以得一百分
建设项目按建设性质分类,可分为()。
工商星座信用卡在支付宝上充值缴费算消费吗
(0.5+0.25+0.125)/(0.5*0.25*0.125)*7/18*9/
李家桥中桥地址在哪,我要去那里办事
下表是某微生物培养基成分,请据此回答:编号
教师职称评定时中专学历需要认证吗?
盖有南威之容,乃可以论于淑媛;有龙渊之利,
人人都有世界观。人们的世界观要么属于唯物主
开卷有益辩论会反方怎么赢
推荐资讯
请问9立方米空压机,9立方米表示什么?
为什么我的手机红米不能打字?
常州平安驾校(常州天宁)地址在什么地方,我要
法国资产阶级革命和美国独立战争的共同使命是
外省来市工作的公务员能否享受公租房
兴文县工商行政管理局共乐工商所地址在什么地
怎么看头发软化到几成?请说的详细点
【有六筐苹果,第一筐卖出2/3,第二筐卖出3/5,
怎样炖鸡肘烫,请教:鸡和猪肘子煲汤怎样做?
急求亲吻姐姐TV版12集和OAD版的9集视频!!要
我国领土的最西端在帕米尔高原,最北端在漠河
爱君婚庆婚纱摄影(证件照)地址在什么地方,想
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?