2013-01-31 53 views
0

任何人都可以解釋爲什麼會引發異常嗎?將x:Name分配給Thickness引發異常

<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(對象發件人,StartupEventArgs E) 在MS.Internal.CoreInvokeHandler.InvokeEventHandler(UInt32的typeIndex,代表handlerDelegate,對象發件人,對象參數) 在MS.Internal.JoltHelper.FireEvent(IntPtr的unmanagedObj,IntPtr的unmanagedObjArgs,的Int32 argsTypeIndex,的Int32 actualArgsTypeIndex,字符串eventName的,UInt32的標誌)

回答

2

Name屬性是爲DependencyObject,因此只能被設置在另一個DependencyObject上。

厚度不是一個DependencyObject,所以你不能使用Name屬性。

+0

謝謝。這是一個無賴,我希望能爲邊緣創造動力 - 顯然不可能。 – McGarnagle

+0

只能爲依賴屬性設置動畫,所以你可以用故事板改變邊距,但不能動畫。您可能需要考慮縮放和/或翻譯變換以達到類似的效果。或者你可以設置高度,寬度,頂部,左,右和底部的動畫效果。 –

+0

啊,對啊......我想,「使用關鍵幀的離散動畫」。 – McGarnagle