SetValue使dependencyProperty为null

时间:2015-06-12 10:16:05

标签: c# wpf dependency-properties

我正在尝试在依赖项属性上设置一个值,但它总是设置为null。

[Description("Binded destination list"), Category("Data")]
public static readonly DependencyProperty ItemsProperty = DependencyProperty.Register("DestinationList", typeof(IEnumerable<TestEntity>), typeof(ListBoxEditLookup), new FrameworkPropertyMetadata(IsDestinationListChangedCallback) { BindsTwoWayByDefault = true, DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged});

public IEnumerable<TestEntity> DestinationList
{
     get { return GetValue(ItemsProperty) as IEnumerable<TestEntity>; }
     set
     {
          //After this line it becomes null
          SetValue(ItemsProperty, value);
     }
}

当我检查值的值时,它实际上填充了值IEnumerable<TestEntity>的值,但由于某种原因,它表示null!当我设置类型对象的所有内容而不是IEnumerable时,它可以工作。

1 个答案:

答案 0 :(得分:0)

我发现了问题,因为我用ObservableCollection绑定,它无法强制转换为IEnumerable