我有一个扩展Canvas
的课程。在创建时,我明确地将其宽度设置为值:
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 :(得分:1)
不要Canvas's
缩小到可能的最小尺寸,但仍然完全显示自己的孩子?这可能导致ActualHeight
和ActualWidth
值为零。尝试添加say,TextBlock
然后读取值。
我相信在其他帖子中可以更好地解释这一点:Why are ActualWidth and ActualHeight 0.0 in this case?
答案 1 :(得分:0)
请注意,ActualHeight
和ActualWidth
会在渲染控件后为您提供值。假设Canvas
Height
和Width
50 ,并且在渲染后Canvas
缩小,那么它将返回较低的ActualHeight
和ActualWidth
值,如果不可见则可能为零。