2012-12-20 104 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值或许零,如果不可见。