【发布时间】:2012-07-11 06:08:11
【问题描述】:
从一个基于TextBox的自定义控件,我创建了一个名为Items的属性,这样:
public class NewTextBox : TextBox
{
public ItemCollection Items { get; set; }
}
在 XAML 中使用自定义控件时,我无法绑定该属性,因为它会引发异常“A 'Binding' can only be set on a DependencyProperty of a DependencyObject。”。
如何解决这个异常?
【问题讨论】:
-
是的。只有依赖属性可以作为绑定的目标。 Source 可以是依赖属性或实现 INotifyPropertyChanged 的 CLR 属性
-
这与您的其他问题完全相同,您接受答案并说“但我必须修改属性以包含 DependencyProperty”。您的解决方案应该作为答案包含在其中
-
@AdamHouldsworth 是的,发布这个问题只是为了发布答案。这实际上是被鼓励的,因为它被视为一种分享知识的形式,甚至还有一个new
CheckBoxon the form 可以让您在写问题的同时写一个答案。 -
@Rachel 很公平,我没有发现这一点,因为我已经很长时间没有提出问题了。无论哪种方式,我都没有否决这个问题或答案,所以我的手很干净:-)
-
@arserbin3 Rachel 有正确的解释。我选择在这里发布而不是旧问题,因为我认为绑定问题与 DependencyProperty 异常不同。
标签: c# wpf binding user-controls dependency-properties