繁体   English   中英

如何在Silverlight的ComboBox中模拟“ AppendDataBoundItems”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM