【发布时间】:2013-02-26 03:36:30
【问题描述】:
我正在尝试以像素为单位获取Canvas 的宽度和高度。
我该怎么做?
【问题讨论】:
-
使用哪种语言? (JavaScript?)
-
不,我使用的是 C#/XAML
标签: c# canvas windows-8 winrt-xaml
我正在尝试以像素为单位获取Canvas 的宽度和高度。
我该怎么做?
【问题讨论】:
标签: c# canvas windows-8 winrt-xaml
ActualHeight & ActualWidth。收听SizeChanged 了解变化。
【讨论】:
SizeChanged 事件,这意味着它们在文档加载后(使用 Loaded 事件作为初始值)或引发 SizeChanged 后填充。我的猜测是你读的为零是因为你读得太早了。
请使用loaded事件获取Canvas的实际宽度和ActualHeight。
private void Canvas_Loaded_1(object sender, RoutedEventArgs e)
{
var height = cnvMain.ActualHeight;
var width = cnvMain.ActualWidth;
}
ActualWidth 和 ActualHeight 将为您提供Canvas 的像素宽度和高度,但除非画布在屏幕上加载/渲染,否则它将为零。
【讨论】: