将x:Name分配给Thickness会引发异常

时间:2013-01-31 17:57:06

标签: silverlight xaml

任何人都可以解释为什么会引发异常吗?

<UserControl>
    <Grid>
        <Grid.Margin>
            <Thickness x:Name="thickness" />
        </Grid.Margin>
    </Grid>
</UserControl>

如果我删除了x:Name属性,那么它会成功运行。

错误详情:

  

消息:Silverlight应用程序中的未处理错误   代码:4004
  类别:ManagedRuntimeError
  消息:System.NullReferenceException:未将对象引用设置为对象的实例。      在SilverlightBindingTest.MainPage.InitializeComponent()      在SilverlightBindingTest.MainPage..ctor()      在SilverlightBindingTest.App.Application_Startup(Object sender,StartupEventArgs e)      在MS.Internal.CoreInvokeHandler.InvokeEventHandler(UInt32 typeIndex,委托handlerDelegate,Object sender,Object args)      在MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,Int32 actualArgsTypeIndex,String eventName,UInt32 flags)

1 个答案:

答案 0 :(得分:2)

Name属性是DependencyObject,因此只能在另一个DependencyObject上设置。

厚度不是DependencyObject,因此您不能使用Name属性。