2009-05-20 16 views
3

Ich versuche, die Expander Hintergrundfarbe zu ändern. Es scheint so einfach, aber ich kann es nicht zur Arbeit bringen.

Ändern Hintergrundfarbe der Kopfzeile in WPF Expander

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

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

Warum funktioniert HorizontalAlignment="Stretch" Hilfe? Ich versuche, die Breite von Header an die Breite von Expander zu binden, aber das Ergebnis ist nicht gut aussehend.

Antwort

9

hier gehen Sie, das sollte den Trick tun .... Sie sollten die Breite der Header-Vorlage auf die Breite des Expanders festlegen.

<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

Gute Antwort, aber ich versuchte, dass allready, es nicht hilft, so scheint es, dass der Header als Expander größer wird –

+0

lustig, funktionierte gut für mich - genau die gleiche Breite sein soll. Sie könnten einen Konverter erstellen, der die Breite übernimmt und einen Teil davon subtrahiert und das Ergebnis zurückgibt. –

Verwandte Themen