画布宽度和高度以像素为单位

问题描述:

我试图以像素为单位获得Canvas的宽度和高度。画布宽度和高度以像素为单位

我该怎么做?

+0

哪种语言? (JavaScript的?) – Ryan 2013-02-26 03:37:16

+0

不,我使用C#/ XAML – MBZ 2013-02-26 03:39:09

ActualHeight & ActualWidth。聆听SizeChanged来捕捉变化。

+0

陛下...的ActualHeight是0 – MBZ 2013-02-26 04:01:12

+0

@MBZ您需要发布更多的信息,以帮助诊断 – 2013-02-26 04:10:50

+0

@MBZ,ActionX性质听'SizeChanged'事件,这意味着他们在文档加载后(使用Loaded事件作为初始值)或在引发SizeChanged后填充。我的猜测是,你阅读为零,因为你阅读得太早。 – 2014-06-30 22:53:32

请使用加载事件来获得Canvas的实际宽度和ActualHeight

private void Canvas_Loaded_1(object sender, RoutedEventArgs e) 
    { 
     var height = cnvMain.ActualHeight; 
     var width = cnvMain.ActualWidth; 
    } 

ActualWidthActualHeight会给你的宽度和像素Canvas的高度,但它会是零,直到在屏幕上,除非在画布上加载/渲染。