Quick Silverlight tip: Why my ActualWidth and ActualHeight equal 0?
If you’ll try to use ActualWidth and ActualHight of controls with explicitly set Width and Height, you’ll not see any problem, however, if your control sits inside other control, ActualWidth and ActualHeight properties will be equal to 0. Why this and how to fix it?
Actually, measurement and layout pass in Silverlight run asynchronously, thus it executed with or, even after, your code. So in order to fix it, you should measure ActualWidth and Actual Height asynchronously. So, instead of:
//get and use ActualWidth/ActualHeight
Use:
Dispatcher.BeginInvoke(delegate
{
//get and use ActualWidth/ActualHeight
});
It will allows you to detect actual size of your control.
Have a nice day and be good people.
You may also be interested with:
July 11th, 2008 · Comments (5)
5 Responses to “Quick Silverlight tip: Why my ActualWidth and ActualHeight equal 0?”
Leave a Reply
Discover other tags
My tools
- .NET Framework Detector
- Duplicate images finder
- Exchange Security Policy for Windows Mobile Devices Fix
- Gas Price Windows Vista SideBar gadget
- Israel Traffic Information Windows Vista SideBar gadget
- Localization fix for SAP ES Explorer for Visual Studio
- LocTester
- RTL and LTR in Windows Live Writer
- Silverlight controls library
- Snipping tool integration plugin for WLW
- USB FM receiver library
- Vista Battery Saver
- WebCam control for WPF
- Windows Live SkyDrive attachment for Windows Live Writer
- Wireless Migrator
- WPF Virtual Keyboard




January 1st, 2009 at 12:53 am
Fons Sonnemans with RollMenu, Frank LaVigne with Community Megaphone SL Map, Martin Mihaylov on LINQ
January 5th, 2009 at 4:33 am
Too bad this doesn’t actually work consistently. I’ve tried this method, SizeChanged, Loaded, LayoutUpdated and they all still report ActualWidth of zero even though the clip is clearly visible.
January 5th, 2009 at 4:55 am
Try to change priority of invoking call
March 16th, 2009 at 3:50 pm
How do you change priority? Does Silverlight 2 allow you to pass a priority to the dispatcher function?
April 15th, 2009 at 7:10 am
After reading this article, I just feel that I really need more info. Could you share some more resources please?