long类型的Dependency属性出错

时间:2011-08-10 12:10:53

标签: c# .net wpf dependency-properties

我声明了一个“Id”依赖项属性:

    public long Id
    {
        get { return (long)GetValue(IdProperty); }
        set { SetValue(IdProperty, value); }
    }
    public static readonly DependencyProperty IdProperty =
        DependencyProperty.Register("Id", typeof(long),
        typeof(Component), new PropertyMetadata(-1));

“组件”是具有“Id”的用户控件。

当我运行应用程序时,它给了我一个例外:

  

PresentationCore.dll中出现未处理的“System.TypeInitializationException”类型异常

     

附加信息:“My_Program.Component”的类型初始化程序引发了异常。

如果我将类型“long”更改为“int”,一切正常。 问题是什么?我不能创建“long”类型的依赖项属性吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

尝试将默认值转换为long:

new PropertyMetadata((long)-1);

答案 1 :(得分:4)

尝试使用后缀L,即:-1L