设计师展示A 'Binding'只能在DependencyObject错误的DependencyProp

本文关键字:DependencyObject DependencyProp 错误 Binding 设计师 | 更新日期: 2023-09-27 18:18:00

我创建了一个用户控件,它有一个DependencyProperty,当我尝试绑定到它时,我在设计器中得到一个错误:

" 'Binding'不能在类型的'ROCValue'属性上设置"RocIndicator"。一个"绑定"只能在的DependencyProperty上设置DependencyObject。

编辑:我已经添加了静态修饰符,但我仍然得到那个错误。是的,我已经重新启动了visual studio。

public partial class RocIndicator : UserControl
{
    public static readonly DependencyProperty ROCValueProperty =
        DependencyProperty.Register("ROCValue", typeof(double), typeof(RocIndicator),
        new FrameworkPropertyMetadata(0.0, new PropertyChangedCallback(ValueChanged)));

    public double ROCValue
    {
        get { return (double)GetValue(ROCValueProperty); }
        set { SetValue(ROCValueProperty, value); }
    }
}

这是XAML:

<View:RocIndicator ROCValue="{Binding ROC}" Margin="0,10,0,0" HorizontalAlignment="Center" Width="35"/>

但是当我构建&运行就行了。为什么会出现这个错误?

设计师展示A 'Binding'只能在DependencyObject错误的DependencyProp

依赖属性声明必须为static:

public static readonly DependencyProperty ROCValueProperty ...

我曾经在将UserControl从一个项目复制到另一个项目时遇到过同样的问题。我试着关闭解决方案,重新启动Visual Studio,甚至重新启动我的电脑。

然后我卸载并重新加载项目,这似乎解决了它。(可能是Visual Studio构建错误)。

要卸载项目,请在解决方案资源管理器中右键单击项目并单击"卸载项目"。然后再右键单击'Reload Project'。

对于每个xaml表单,*.g.cs和.g.i.cs文件将自动创建在/objs/Debug//文件夹中。有时这些文件中的一些没有被"重建解决方案"选项实现。

我还不能确定这是什么时候发生的。

但是我通过删除项目目录中的"obj"文件夹并重新构建解决方案来解决它。

相关文章:
  • 没有找到相关文章