Posts

Showing posts from December, 2016

How UI Layout Works

Image
Few days ago, I was stuck with a GUI issue where WPF controls were not getting rendered in memory. Everything was arranged properly in a Visual Tree of parent control but still somehow child was not able to draw with custom size. So, to solve this issue I took  help of a book called WPF Control Development by Kevin Hoffman. I thought I should share how this layout process works under the hood. So there it is: ___________________________________________________________________________ The layout system in WPF is a conversation between the layout container and its children. This conversation takes place in two stages that are often referred to as passes. This two-pass approach starts at the root of the visual tree and recursively traverses the tree until all containers have been given the chance to perform the layout process with their children. In the first pass of the conversation, the parent asks its children how much space they need to display themselves. The parent infor