Align items in a stack panel?
alignment, layout, stackpanel, wpf, wpf-controls
Solution
You can achieve this with a `DockPanel`:
<DockPanel Width="300">
<TextBlock>Left</TextBlock>
<Button HorizontalAlignment="Right">Right</Button>
</DockPanel>
The difference is that a `StackPanel` will arrange child elements into single line (either vertical or horizontally) whereas a `DockPanel` defines an area where you can arrange child elements either horizontally or vertically, relative to each other (the `Dock` property changes the position of an element relative to other elements within the same container. Alignment properties, such as `HorizontalAlignment`, change the position of an element relative to its parent element).
Update
As pointed out in the comments you can also use the `FlowDirection` property of a `StackPanel`. See @D_Bester's answer.
Problem
I was wondering if I can have 2 controls in a horizontal-oriented StackPanel so that the right item should be docked to the right side of the StackPanel. I tried the following but it didn't work: ``` <StackPanel Orientation="Horizontal"> <TextBlock>Left</TextBlock> <Button Width="30" HorizontalAlignment="Right">Right<Button> </StackPanel> ``` In the snippet above I want the Button to be docked to the right side of the StackPanel. Note: I need it to be done with StackPanel, not Grid etc.