首先,我想说的是我现在已经寻找了3天以上的答案。是的,我知道只能对DependencyProperty进行绑定。在我的项目中,我在多个地方,许多不同的库和许多不同的Windows / UserControl中使用DependencyProperty。一切正常。但是在一个特定的类中,我只是无法摆脱该错误...有趣的是,这只是VS抱怨此(不存在)问题的原因,因为该项目按预期进行编译和工作(我调查的唯一原因是由于由于该错误,建造者和设计者都在刷新接口时遇到问题)。这是课程(我在Internet上的某个地方找到了示例):
Public Class BindingProxy
Inherits Freezable
Public Shared ReadOnly DataProperty As DependencyProperty = DependencyProperty.Register("Data", GetType(Object), GetType(BindingProxy), New UIPropertyMetadata(AddressOf MyPropertyChangedHandler))
Public Property Data As Object
Get
Return GetValue(DataProperty)
End Get
Set(value As Object)
SetValue(DataProperty, value)
End Set
End Property
Protected Overrides Function CreateInstanceCore() As Freezable
Return New BindingProxy
End Function
Public Shared Sub MyPropertyChangedHandler(ByVal target As DependencyObject, ByVal args As DependencyPropertyChangedEventArgs)
CType(target, BindingProxy).Data = args.NewValue
End Sub
End Class
它的用法如下(此处“ Data”属性带有下划线并显示错误):
<helpers:BindingProxy x:Key="proxy" Data="{Binding}" />
此操作的目的是将模板化控件(如ListViews ItemTemplate的DataTemplate中的Button)绑定到主ViewModel:
<Button Command="{Binding Data.DoSomethingCommand, Source={StaticResource proxy}}" CommandParameter="{Binding ID}" />
BindingProxy类位于另一个项目中(相同的解决方案)。 正如我所说,该程序可以按预期进行编译和运行。只是在设计和调试过程中UI刷新使我发疯,这让我寻找答案...
预先感谢, 皮奥特·莱曼斯基(PiotrLemański)。