【问题标题】:Silverlight databinding selection?Silverlight 数据绑定选择?
【发布时间】:2009-06-21 12:45:42
【问题描述】:

谁能解释一下silverlight/wpf数据绑定实际上是如何确定在集合中设置为selectedItem的正确项目,如下面的sn-p

<ComboBox SelectedItem="{Binding Mode=TwoWay, Path=Province}" 
           ItemsSource="{StaticResource ProvinceCollection}" />

ProvinceCollection 只是一个静态字符串数组。

在此示例中,项目是字符串,因此值类型非常简单,但是当集合包含更复杂的内容(例如在运行时加载的对象实例)时,它如何知道将什么设置为选定项目。 (Datacontext).Province 的对象引用和 ProvinceCollection 中的项目不会相同,即使我认为它们应该相同。

我打算这样做,让数据绑定从集合中选择一个项目,其中当前数据上下文的项目不在集合中(即没有具有相同对象引用的项目)

【问题讨论】:

    标签: silverlight data-binding


    【解决方案1】:

    我自己也遇到过这个讨厌的问题,不幸的是,在 Silverlight 2 中它使用了 Object.ReferenceEquals(在反射器中检查),所以它实际上必须是同一个对象。这非常令人恼火。恐怕你无能为力:(

    这已在 Silverlight 3(至少是 Beta 版)中得到修复,它现在使用 Equals,因此您可以使用覆盖 Equals 方法的技巧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 2011-09-14
      • 2011-11-05
      相关资源
      最近更新 更多