I have the following ControlTemplate:
<ControlTemplate>
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Left" Width="400">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="18" />
<ColumnDefinition Width="20*" />
<ColumnDefinition Width="20*" />
<ColumnDefinition Width="20*" />
<ColumnDefinition Width="45" />
</Grid.ColumnDefinitions>
<TextBox Grid.Column="1" Template="{StaticResource watermark}" HorizontalAlignment="Stretch" Margin="4,0,0,4" Tag="Number" />
<TextBox Grid.Column="2" Template="{StaticResource watermark}" HorizontalAlignment="Stretch" Margin="4,0,0,4" Tag="Login" />
<TextBox Grid.Column="3" Template="{StaticResource watermark}" HorizontalAlignment="Stretch" Margin="4,0,0,4" Tag="Password" />
<Button Grid.Column="4" HorizontalAlignment="Stretch" Content="Add" Margin="4,0,0,4" Click="AddUser_Click"/>
</Grid>
</ControlTemplate>
How should I write AddUser_Click to get access to textboxes Text properties?
upd: just to make it clear. I know how to connect Click event handler here. The question is how to read contents of textboxes in it since I cant give them name because they are in a template.
If you have access to the templatedparent (SelectedItem, FindVisualParent etc.) you can do this if you apply Names to the TextBoxes. Example if ControlTemplate is for ComboBoxItem.
Another way to get the TextBoxes within the ControlTemplate would be to use the Visual Tree. Something like this
And an implementation of GetVisualParent and GetVisualChildCollection