我创建了一个具有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"/>
但是当我建立&amp;运行它。为什么会出现此错误?
答案 0 :(得分:11)
依赖属性声明必须是static
:
public static readonly DependencyProperty ROCValueProperty ...
答案 1 :(得分:2)
将UserControl从一个项目复制到另一个项目时,我遇到了同样的问题。我尝试关闭解决方案,重新启动Visual Studio甚至重新启动我的PC。这些都没有。
然后我卸载并重新加载项目,这似乎解决了它。 (可能是Visual Studio构建错误)。
要卸载项目,请在解决方案资源管理器中右键单击您的项目,然后单击“卸载项目”。 然后再次右键单击并单击“重新加载项目”。
答案 2 :(得分:0)
我遇到了同样的问题,并通过删除项目目录中的“ obj” 文件夹并重建解决方案来解决了该问题。