I want to have some text in an expander header left aligned, then some text right aligned. I have found how to expand the header to the width of the container, and thought I could simply add a dockpanel and set the second text block to Dock Right, but it doesn’t seem to help. Any solutions?
<Expander> <Expander.Header> <DockPanel Width='{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Expander}}, Path=ActualWidth}'> <TextBlock Text='I am header text…' Background='LightBlue' /> <TextBlock DockPanel.Dock='Right' Text='I am header text…' Background='Yellow' /> </DockPanel> </Expander.Header> </Expander>
Try setting the
TextAlignmentproperty to right and theHorizontalAlignmentproperty to stretch on theTextBlocks. That should help i think.If your use of color is for something other than demo purposes and you literally want the whole element to be right aligned then you might want to look at setting the
LastChildFillproperty of theDockPanelto false.