【发布时间】:2012-12-20 09:37:08
【问题描述】:
我有一个扩展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。
如何解决这个问题?
【问题讨论】:
-
你什么时候阅读
ActualWidth和ActualHight? -
刚将孩子添加到画布后,我使用消息框进行调试。
-
不要将画布缩小到可能的最小尺寸,但仍然完全显示自己的孩子吗?这可能导致
ActualHeight和ActualWidth值为零。尝试添加一个TextBlock然后读取值。 -
@Asryael 好像是这样,当只改变背景颜色时,我可以看到画布占据了我指定的区域,但
actualHeight和actualWidth仍然为零。如果添加了组件,则会显示所需的大小。谢谢。 -
@Blaffie 添加评论作为答案。如果是,请标记为答案!
标签: wpf layout actualwidth actualheight