WPF ControlTemplate: Comment fournir une valeur par défaut pour objet templatebinding?

Je suis en train d'écrire un contrôle WPF qui les sous-classes d'un Bouton. Je puis fournir un style par défaut des Thèmes\générique.xaml, qui ressemble à ceci (simplifié):

<Style TargetType="{x:Type WPFControls:MyButton}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type WPFControls:MyButton}">
                <Button 
                    x:Name="PART_Button"
                    Background="{TemplateBinding Background}"
                    BorderBrush="{TemplateBinding BorderBrush}"
                    />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Je voudrais que l'utilisateur ait la possibilité de changer l'arrière-plan du contrôle, mais s'il ne l'est pas, j'aimerais fournir la valeur par défaut. Comment dois-je faire?

Quand je le fais comme dans la posté code, l'arrière-plan et BorderBrush est nulle (= inexistant) à moins que l'utilisateur spécifie explicitement (ce qui effectivement les forces de l'utilisateur de toujours fournir une certaine valeur), mais le standard de windows contrôles (Bouton j'aime) de fournir une apparence par défaut, qui peuvent être adaptés par l'utilisateur. Comment faire cela dans ma commande?

Merci!

Solution par Michael Morton:

Vous pouvez fournir des valeurs par défaut que les poseurs dans le style:

<Style TargetType="{x:Type TestTemplate:MyButton}">
    <Setter Property="Background" Value="Red" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TestTemplate:MyButton}">
                <Button 
                    x:Name="PART_Button"
                    IsEnabled="{TemplateBinding IsEnabled}"
                    Content="{TemplateBinding Content}"
                    Background="{TemplateBinding Background}"
                    />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Utilisation:

<StackPanel>
    <TestTemplate:MyButton Background="Blue">Explicitly blue</TestTemplate:MyButton>
    <TestTemplate:MyButton>Naturally red</TestTemplate:MyButton>
</StackPanel>