2011-01-11 2 views
1

Bonjour J'essaie de créer un style RadialButton avec une image et je veux que cette image (source) soit variable.wpf style ellipse button Remplissez la propriété Image

<Style x:Key="RadialButton1" TargetType="Button"> 
       <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="Button"> 
         <Ellipse 
          Stroke="Black" 
          HorizontalAlignment="Center" 
          VerticalAlignment="Center" 
          Width="60" 
          Height="60" 
          x:Name="Ellipse" > 
          <Ellipse.Fill > 
           <ImageBrush ImageSource="/DessCol;component/Images/Recommencer.ico"/> 
          </Ellipse.Fill> 
         </Ellipse> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

....

<Button Height="37" HorizontalAlignment="Left" Margin="15,20,0,0" Name="btnRecommencer" VerticalAlignment="Top" Width="51" Style="{StaticResource RadialButton1}" Click="btnRecommencer_Click"/> 

Je veux la propriété Ellipse.Fill soit variable et définie par l'attribut contenu du bouton. Je vais chercher à Binding, RelativeSource, etc ... mais vous serais reconnaissant si quelqu'un a une idée de la façon d'y parvenir

Merci

Addendum

Quelque chose comme

<Ellipse Fill="{TemplateBinding Content}"/> 

Répondre

2

Vous pouvez utiliser RelativeSource dans la liaison

<Style x:Key="RadialButton1" TargetType="Button"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="Button"> 
       <Ellipse Stroke="Black" HorizontalAlignment="Center" VerticalAlignment="Center" 
         Width="60" Height="60" x:Name="Ellipse" > 
        <Ellipse.Fill > 
         <ImageBrush ImageSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type Button}}, 
                  Path=Content}"/> 
        </Ellipse.Fill> 
       </Ellipse> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

Ne fonctionne pas b J'ai répondu à l'événement click dans l'ellipse – Nestor

+0

Désolé, vous avez raison. Avec ...

+0

@Nestor: Veuillez marquer cette réponse comme acceptée si elle a résolu votre problème –