Click here to Skip to main content
11,812,712 members (71,787 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: WPF grid Controls controller , +
Hey guys,
I have a Canvas inside a grid, the Height and Width of the canvas is set to be Auto.
In my code behind, I need to draw a shape (i.e. Line, Rectangle) inside this Canvas and set the size of the shape to the size of Canvas (i.e. a Rectangle which has a Height same as the canvas and a width half of the canvas width)
I used the following :

double H = A_Canvas.Height;
double H = A_Canvas.ActualHeight;

For the first one, I get NaN and for the second one I get 0.

How should I do this ?!
Posted 2-Jan-12 21:27pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

It depends on where you are trying to find out your canvas height.
You could override the OnRenderSizeChanged in the containing view. At this point the canvas has been given a size and ActualHeight with then work correctly.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Abhinav S 270
1 CHill60 180
2 KrunalRohit 154
3 Palash Mondal_ 145
4 Sergey Alexandrovich Kryukov 140
0 OriginalGriff 3,877
1 KrunalRohit 2,496
2 CPallini 2,240
3 Maciej Los 2,205
4 ppolymorphe 1,750

Advertise | Privacy | Mobile
Web03 | 2.8.151002.1 | Last Updated 18 Jan 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100