如何获取设置为 'Auto' 的 Canvas 元素的宽度和高度?

How do I get the width and height of a Canvas element that is set to 'Auto'?

我正在为 Windows Phone 8.1 开发一个应用程序,我有一个 canvas 可以通过编程在上面画一个球。我的问题是我想将 canvas 的边界设置为它的宽度和高度的边界,但我使用的网格具有相对于 canvas 本身大小的大小。

我想知道如何获得 canvas 的宽度和高度 - 我试过 actualwidth 和 actualheight 但它们只显示“0”。

您可以将 Canvas 放入某些东西(边框、网格)中,然后从容器中获取 ActualWidthActualHeight

我的印象是 Canvas 不会扩展到填充容器,因此最好从容器本身获取尺寸。只要确保容器布局与您希望 Canvas 拥有的布局相同即可。

我通过实现 Canvas 的 SizeChanged 事件获得了宽度和高度,我在其中调用了我自己的 redraw() 函数。 MyCanvas.ActualWidth 然后得到正确的值。