This method has a default implementation that performs built-in layout for most Silverlight FrameworkElement classes.
Override MeasureOverride to implement custom layout sizing behavior for your class as it participates in the Silverlight layout system. Your implementation should do the following:
Iterate your class's particular collection of child objects that are part of layout, call Measure on each child object.
Immediately get DesiredSize on each child (this is set as a property after Measure is called).
Compute the net desired size of the parent based upon the running measurement of the size needed for child objects.
The return value of MeasureOverride should be the object's own desired size, which then becomes the measure input for the parent of the current object. This same process continues through the layout system until the root of the page/object tree is reached.
During this process, child objects might return a larger DesiredSize size than the initial availableSize to indicate that the child object wants more space. This might be handled in your own implementation by introducing a scrollable region, by resizing the parent control, by establishing some manner of stacked order, or any number of solutions for measuring or arranging content.