2011-10-10 5 views
0

Je crée un style pour les boutons:XAML style de bordure

<Style TargetType="{x:Type Button}"> 
     <Setter Property="Background" Value="#8A88E1"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Grid> 
         <Ellipse Fill="{TemplateBinding Background}"/> 
         <ContentPresenter HorizontalAlignment="Center" 
         VerticalAlignment="Center"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 

    </Style> 

Tout OK. Maintenant, je veux écrire une partie du style qui serait regardé autour de la limite de l'ellipse.

+2

Veuillez clarifier votre question, cela n'a aucun sens. –

+0

Je veux créer une ellipse avec une bordure autour – Xaver

Répondre

2

Erno m'a battu à la réponse, mais voici un exemple:

<Style TargetType="{x:Type Button}"> 
    <Setter Property="Background" Value="#8A88E1"/> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="Button"> 
     <Grid> 
      <Ellipse Fill="{TemplateBinding Background}" Stroke="..." StrokeThickness="..." /> 
      <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> 
     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

Vous devriez être en mesure de lier le Stroke au parent BorderBrush mais je l'ai pas testé: Stroke="{TemplateBinding BorderBrush}". Toutefois, vous ne serez pas en mesure de lier directement StrokeThickness au parent BorderThickness car il s'agit de deux types différents (Ellipse.StrokeThickness est uniforme et une valeur double simple alors que Button.BorderThickness est de type .).

1

Il y a deux options:

  1. régler la course et StrokeThickness de l'ellipse ou

  2. Ajouter un modèle à la frontière et d'utiliser une ellipse dans le modèle.

Faites-moi savoir si vous avez besoin d'aide avec ceux-ci.