This is an old revision of the document!
DataTemplate
Code behind to get a reference to object owning btnDelete:
How to: Find ControlTemplate-Generated Elements
A simple ControlTemplate for Button:
<Style TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Grid Margin="5" Name="grid"> <Ellipse Stroke="DarkBlue" StrokeThickness="2"> <Ellipse.Fill> <RadialGradientBrush Center="0.3,0.2" RadiusX="0.5" RadiusY="0.5"> <GradientStop Color="Azure" Offset="0.1" /> <GradientStop Color="CornflowerBlue" Offset="1.1" /> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> <ContentPresenter Name="content" Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
To find an element within the template after the template has been applied:
// Finding the grid that is generated by the ControlTemplate of the Button Grid gridInTemplate = (Grid)myButton1.Template.FindName("grid", myButton1); // Do something to the ControlTemplate-generated grid MessageBox.Show("The actual width of the grid in the ControlTemplate: " + gridInTemplate.GetValue(Grid.ActualWidthProperty).ToString());
Source: MSDN: How to: Find ControlTemplate-Generated Elements