2009-05-20 5 views
3

J'essaie de changer la couleur d'arrière-plan de l'expanseur. Cela semble si facile mais je n'arrive pas à le faire fonctionner.

Modifier la couleur d'arrière-plan de l'en-tête dans l'extension WPF

<Expander Name="expOneDay"> 
     <Expander.Header> 
      <TextBlock Foreground="CadetBlue" Text="Some Text" HorizontalAlignment="Stretch" /> 
     </Expander.Header> 
... 

</Expander><br/><br/> 

Pourquoi ne pas HorizontalAlignment="Stretch" aide? J'essaye de lier la largeur de Header à la largeur de mais le résultat n'est pas beau.

Répondre

9

ici vous allez, cela devrait faire l'affaire .... Vous devez définir la largeur du modèle d'en-tête à la largeur de l'expander.

<Expander Name="expOneDay" 
      HorizontalAlignment="Stretch" 
      HorizontalContentAlignment="Stretch" Width="Auto"> 
    <Expander.Header > 
      <Border Background="Bisque"> 
       <TextBlock Foreground="White" Text="Steve" 
          Width="{Binding ElementName=expOneDay, Path=ActualWidth}" 
          HorizontalAlignment="Stretch" /> 
      </Border> 
    </Expander.Header> 
</Expander> 
+2

Bonne réponse, mais j'essayé allready, il ne suffit pas, il semble que l'en-tête devient plus grand que expandeur –

+0

drôle, a bien fonctionné pour moi - devrait être exactement la même largeur. vous pourriez faire un convertisseur qui prend la largeur et en soustrait une certaine quantité, retournant le résultat. –

Questions connexes