2012-05-11 10 views
9
TextBlock tbl= new TextBlock(); 
tbl.text="Kishore"; 

double x=tbl.ActualHeight; 
double y=tbl.ActualWidth; 

Si ejecuto el código del evento cargado en Metro - winRT devolverá 0 para ambos.cómo calcular la altura y el ancho del textbock en carga si creo un bloque de texto desde el código?

¿Cómo puedo obtener el ActualWidth en el evento Loaded o SizeChanged?

+0

WPF tenía métodos como organizar/medir, le dio espacio disponible y obtuvo las dimensiones como resultado. ¿No hay algo similar en Júpiter? –

Respuesta

10

llamada Measure() continuación Arrange() y luego ActualWidth y ActualHeight se actualizará.

+0

Primero, se invoca Measure, luego Organizar. – HCL

+0

¡Claro, por supuesto! –

0
TextBlock tbl = new TextBlock(); 
tbl.Text = "Kishore"; 

tbl.Measure(new Size(0, 0)); 

double x = tbl.ActualHeight; 
+1

Una pequeña explicación podría ayudar. –

1

también puede hacerlo a través

UpdateLayout(); 
testBlock.ActualWidth 

Esto podría ser útil para el cálculo de varias alturas y anchuras objetos.

+0

esto resolvió mi problema gracias – hushyon

Cuestiones relacionadas