将值设置为依赖项属性时发生类型初始化异常

时间:2013-11-21 18:31:51

标签: c# xaml windows-phone-8

我正在开发一个usercontrol,我在其中注册依赖属性,如下所示

    public string TextBoxHint
    {
        get { return (string)GetValue(TextBoxHintProperty); }
        set { SetValue(TextBoxHintProperty, value); }
    }

    public static readonly DependencyProperty TextBoxHintProperty =
          DependencyProperty.Register("TextBoxHint",
              typeof(string),
          typeof(AutoCompleteBox),
          new PropertyMetadata("Search")); 

我正在使用另一个页面中的usercontrol

 <localControls:AutoCompleteBox TextBoxHint="Search Task" />

执行上述代码会导致SetValue()函数出现TypeInitialization异常。

有人能指出代码有什么问题???

提前谢谢......

1 个答案:

答案 0 :(得分:0)

依赖属性需要该属性的SetValue和GetValue函数,因此它应该是这样的。

    public string ToolTipText 
    { 
        get { return (string)this.GetValue(ToolTipTextProperty); }
        set { this.SetValue(ToolTipTextProperty, value); }
    }

    public static object GetToolTipText(DependencyObject target)
    {
        return (object)target.GetValue(ToolTipTextProperty);
    }

    public static void SetToolTipText(DependencyObject target, Object value)
    {
        target.SetValue(ToolTipTextProperty, value);
    }

    public static readonly DependencyProperty ToolTipTextProperty = DependencyProperty.RegisterAttached("ToolTipText", typeof(string), typeof(Controls.ProgressSlider), new PropertyMetadata("0%"));