C# 使用DependencyProperty装饰非DependencyObject

C# 使用DependencyProperty装饰非DependencyObject,c#,wpf,C#,Wpf,我正试图在我的WPF应用程序中绑定到WinForms控件的DataSource属性,但运气不太好 给它一个机会,但尽管它声称执行绑定不需要DependencyObject,但这似乎是唯一的方法 以前有人这样做过吗?A.对于不是从DependencyObject派生的对象,您无权访问SetBinding()或ClearBinding()方法。相反,您可以调用静态方法BindingOperations.SetBinding()和BindingOperations.ClearBinding() 这实际

我正试图在我的WPF应用程序中绑定到WinForms控件的DataSource属性,但运气不太好

给它一个机会,但尽管它声称执行绑定不需要DependencyObject,但这似乎是唯一的方法


以前有人这样做过吗?

A.对于不是从
DependencyObject
派生的对象,您无权访问
SetBinding()
ClearBinding()
方法。相反,您可以调用静态方法
BindingOperations.SetBinding()
BindingOperations.ClearBinding()

这实际上是绑定一个源和一个目标,可以使用静态方法从任何对象进行绑定

B.现在,关于绑定中涉及的源和目标,有一些约束可以总结为:

绑定的目标可以是从DependencyProperty派生的任何可访问属性或元素例如TextBox控件的文本属性。绑定的源可以是任何公共属性,包括其他控件的属性、公共语言运行库(CLR)对象、XAML元素、ADO.NET数据集、XML片段等。”

反过来,
dependencProperty
只能存在于
DependencyObject
中(如果我没有错的话)。因此,目标需要位于
依赖对象中,而不是源对象,也不是创建绑定的对象

这并不完全正确,您也可以使用一个不是DO的目标,请查看中的代码

  • 还请记住,您可以执行 使用反向绑定
    OneWayToSource
    绑定类型。在里面 在这种情况下,目标不必是
    DependencyObject