Vallo
Vallo

Reputation: 1967

Left and right alignment leaving space in the middle inside StackPanel

I have this user control:

And I want to achieve this result:

The XAML of the bottom part is like this:

<StackPanel HorizontalAlignment="left" Orientation="Horizontal">
     <TextBox materialDesign:HintAssist.Hint="Filtrar por patente" Width="auto" Margin="5" Text="{Binding Filtro, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left"></TextBox>
     <Button Width="120" Style="{DynamicResource MaterialDesignRaisedButton}" Margin="5" HorizontalAlignment="Right" Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}">Volver</Button>
</StackPanel>

I cannot find a way to align textbox to the left and button to the right, leaving a dynamic space in the middle. Button should have fixed width and textbox should be auto.

Thanks

Upvotes: 0

Views: 1274

Answers (1)

Use a DockPanel. You'll want to stretch it instead of aligning it to the left.

<DockPanel 
    HorizontalAlignment="Stretch" 
    >
    <TextBox 
        DockPanel.Dock="Left"
        materialDesign:HintAssist.Hint="Filtrar por patente" 
        Width="auto" 
        Margin="5" 
        Text="{Binding Filtro, UpdateSourceTrigger=PropertyChanged}" 
        HorizontalAlignment="Left"
        />
    <Button 
        DockPanel.Dock="Right"
        Width="120" 
        Style="{DynamicResource MaterialDesignRaisedButton}" 
        Margin="5" 
        HorizontalAlignment="Right" 
        Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}"
        >Volver</Button>
</DockPanel>

Upvotes: 2

Related Questions