在Asp.Net Combobox中,有一个有用的属性AppendDataBoundItems
,它会将绑定到控件的任何项实际附加到任何“静态”添加的广告设计时间。这对于“默认”值非常有用,用户可以在可用的项目中没有项目符合条件时指定,或指定特殊的“空值”项目。
不幸的是,Silverlight ComboBox中没有这样的属性,并且当控件被数据绑定时无法通知。
答案 0 :(得分:0)
您可以通过覆盖ComboBox模板来执行某些操作。但是,Silverlight组合框有许多问题,因为它是一个不成熟的组件。您可能最好实现自己的组合框(或使用Internet上的某个实现)并自己编写此行为。
答案 1 :(得分:0)
在过去的几天里,我遇到了同样的问题,对于非强制性的Comboboxes。我处理它的方法是在“Salutations”这样的集合中添加一个空值,例如“Mr”,“Miss”等等。
好吧,我的解决方案很难看,但它确实有效。理想情况下,我希望有一个包含ObservableCollection的类型为T的bindableobject。但与往常一样,我们在这里面临着巨大的时间压力,这将暂时发挥作用。
向ObservableCollection添加了SalutationDTO,如下所示。
public static void EnableNullableSalutationChoice(this ObservableCollection<SalutationDTO> salutations)
{
salutations.Insert(0, NullSalutationChoice);
}
public static SalutationDTO NullSalutationChoice
{
get
{
return new SalutationDTO {Salutation = " ", SalutationID = null};
}
}