[英]How to emulate “AppendDataBoundItems” in Silverlight's ComboBox?
在Asp.Net组合框中,有一个有用的属性AppendDataBoundItems
,该属性使绑定到控件的所有项目实际附加到“静态”添加的广告设计时间中。 当可用项目中的任何项目都不符合条件时,用户可以指定“默认”值,或者用于指定特殊的“空值”项目时,这很有用。
不幸的是,Silverlight ComboBox中没有此类属性,并且在控件已进行数据绑定时也无法通知。
在最近几天,我遇到了非强制性的Combobox遇到的相同问题。 我处理它的方法是在说“ Salutations”的集合中添加一个空值,例如“ Mr”,“ Miss”等。
好的,我的解决方案很丑陋,但是它可以工作。理想情况下,我希望有一个类型T的可绑定对象,该对象包装了ObservableCollection。 但是,与往常一样,我们在这里承受着巨大的时间压力,目前暂时如此。
如下将SalutationDTO添加到ObservableCollection中。
public static void EnableNullableSalutationChoice(this ObservableCollection<SalutationDTO> salutations)
{
salutations.Insert(0, NullSalutationChoice);
}
public static SalutationDTO NullSalutationChoice
{
get
{
return new SalutationDTO {Salutation = " ", SalutationID = null};
}
}
您可以通过覆盖ComboBox模板来执行某些操作。 但是,Silverlight组合框是一个不成熟的组件,因此存在许多问题。 您可能最好实现自己的组合框(或使用Internet上的一种实现)并自己编写此行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.