Align Grid column to right
41,173
Solution 1
As you mentioned its an ItemTemplate
of ListBox, what you can do is set HorizontalContentAlignment
to Stretch
.
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Solution 2
Try with this :
<Grid Background="Transparent" Margin="0,3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Image x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/>
<TextBlock x:Name="Name" TextAlignment="Left" VerticalAlignment="Center" Margin="20,0" />
</StackPanel>
<Image Grid.Column="1" x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Right"/>
</Grid>
Related videos on Youtube
Author by
TheUnexpected
Updated on August 18, 2022Comments
-
TheUnexpected over 1 year
I have a Windows Phone / XAML Grid composed by 3 columns. In particular, I want the third column to be aligned to the very right side of the screen.
<Grid Background="Transparent" Margin="0,3"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Image Grid.Column="0" x:Name="Marker" Width="60" Height="60" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/> <TextBlock Grid.Column="1" x:Name="Name" TextAlignment="Left" VerticalAlignment="Center" Margin="20,0" /> <Image Grid.Column="2" x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/> </Grid>
The result, instead, is this:
When it should be like this:
-
Sam Leach over 10 yearsIs there no
HorizontalAlignment="Right"
? -
TheUnexpected over 10 yearsYes, and it doesn't work :(
-
Rohit Vats over 10 yearsIs this Grid a part of
ItemTemplate
ofListBox
because i can't see other items in Grid. -
TheUnexpected over 10 yearsYes, it's a user control created to customize each item on a ListBox
-
Rohit Vats over 10 yearsSet
HorizontalContentAlignment
toStretch
onListBoxItem
. Check my answer.
-
-
RudolfJan about 6 yearsUsing a ListView instead of a ListBox may make life earier for multi column lists.
-
RudolfJan about 5 yearsThis is standard stuff. Look up a tutorial on ListViews, e.g. blackwasp.co.uk/WPFListView.aspx gives you a nice example. I always use ListView or DataGrid for tables.