2012-12-20 102 views
0

我有一個課程擴展了Canvas。在創造我明確其寬度設置爲一個值:寬度設置爲某個值時,實際寬度爲零。 WPF

Public Sub New(w As Integer, h As Integer) 
    Me.Width = w 
    Me.Height = h 
End Sub 

現在我的畫布添加此情況下使用cnvPreview.Children.Add(e)其中e是我的畫布擴展的實例其他畫布。

然而,當我運行應用程序時,ActualWidth這些畫布ActualHeight爲0

如何這個問題能解決?

+0

你什麼時候讀'ActualWidth'和'ActualHight'? –

+0

就在我將這些孩子添加到畫布後,我使用了一個消息框進行調試。 – blaffie

+1

不要畫布縮小到可能的最小尺寸,但仍然完全顯示自己的孩子?可能這會導致「ActualHeight」和「ActualWidth」值爲零。嘗試添加say,'TextBlock'並讀取值​​。 – JosephGarrone

回答

0

注意ActualHeightActualWidth會給你呈現控件後的值。假設如果CanvasHeightWidth是和渲染Canvas後收縮,然後它會返回一個較低的ActualHeightActualWidth值或許零,如果不可見。