I came across an interesting issue today. Essentially its to do with the events related to a Silverlight User Control.
The problem I had was related to a child control which I wanted to set in its parent after the control had been rendered. For example setting a width on a child canvas control. The issue I had was when I wanted to set the parameter it had not yet been created, as loaded event is fired on the parent before the child.
The initialisation cycle of a Silverlight control (source Control Lifecycle), states the last event to be called is the ‘LayoutUpdated’ event. This seems to be fired when the child control has finished being rendered. Interesting!
1: private void UserControl_LayoutUpdated(object sender, EventArgs e)
2: {
3: //All controls are hopefully loaded set the template
4: ChildControl.ChildProperty.Width = <ChildValue>;
5: }
No comments:
Post a Comment