5

I am trying to change the expander background color. It seems so easy but I can't get it to work.

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

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

Why doesn't HorizontalAlignment="Stretch" help? I am trying to bind the width of Header to the width of Expander but the result is not nice looking.

burnttoast11
  • 1,164
  • 16
  • 33
Arsen Mkrtchyan
  • 49,896
  • 32
  • 148
  • 184

1 Answers1

13

here you go, this should do the trick.... You should set the width of the header template to the width of the 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>
sriharsha KB
  • 127
  • 1
  • 11
Muad'Dib
  • 28,542
  • 5
  • 55
  • 68
  • 3
    Good answer, but i tried that allready, it doesn't help, it seems that the header becomes bigger than expander – Arsen Mkrtchyan May 21 '09 at 11:07
  • funny, worked fine for me--should be exactly the same width. you could make a converter that takes the width and subtracts some amount from it, returning the result. – Muad'Dib May 21 '09 at 14:21