Hi,
you can use the ControlTemplate as resource and make it specific for a certain type, and referencing it as template for your Buttons, Grids, or any UIElement, lets take a look to your example refactored:
<Page.Resources>
<ControlTemplate x:Key="controlTemplate" TargetType="Button">
<Border Background="{TemplateBinding Background}">
<Label
x:Name="MyLabel"
Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</Page.Resources>
<Grid>
<Button
Template="{StaticResource controlTemplate}" Content="Click!" Background="Gray"/>
</Grid>
here we are using the control template as template for the Button through its Template property, and in the other hand the ControlTemplate have its property Content bound to its consumer control which means that the Content of the button is bound to the Content property of label in the control template, which is done using the TemplateBinding expression, also the background of the property is bound to the background of the border in the control template.
Hope it helps!