Skip to main content

Posts

Showing posts from November, 2012

Silverlight: Access template control programmatically

If you are working on a Silverlight application, it's very imperative that you will end up wanting to assess a control from a design template.

Let's say I have a template where a CheckBox control is defined and if I want to access this control in my code behind, there is no direct way to do it.

... <ControlTemplate ..> <Grid>... <CheckBox x:Name="chkAll" .../> </Grid></ControlTemplate /> ... The following method will recursively look for this control hiding anywhere in the control template against its name and return it when found.

privateobject GetChildControl( DependencyObject parent, string name){Object control = null ;int count = VisualTreeHelper.GetChildrenCount(parent);for (int counter = 0; counter < count; counter++){ control = VisualTreeHelper.GetChild(parent, counter);//name supplied then Return Control if the control name matches if ((control asDependencyObject).GetValue(NameProperty).ToString() == name)ret…