Что сделать, чтобы ListBox не обрезал кнопки по ширине?
При том, что применён margin ко всем сторонам.
Я пытался загуглить, но там вопрос был в том, что он обрезал кнопки по высоте, а не по длине.
Нужно, чтобы они все были одинаковой длины.
<Window.Resources>
<Style x:Key="MenuButton" TargetType="Button">
<Setter Property="Margin" Value="5"/>
<Setter Property="Background" Value="Wheat"/>
</Style>
</Window.Resources>
<Grid>
<Menu Height="23.926" VerticalAlignment="Top" Grid.ColumnSpan="2">
<MenuItem Header="File">
<MenuItem Header="New Project" ></MenuItem>
<MenuItem Header="Open Project" >
<MenuItem Header="WinForms"></MenuItem>
<MenuItem Header="WPF" ></MenuItem>
</MenuItem>
<Separator />
<MenuItem Header="Exit" ></MenuItem>
</MenuItem>
<MenuItem Header="Edit" ></MenuItem>
<MenuItem Header="View" ></MenuItem>
</Menu>
<Grid Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="ButtonList" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Button Style="{StaticResource MenuButton}">
<Button.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{Binding Path=ImageR}" Width="0.5cm" Height="0.5cm" HorizontalAlignment="Left" Grid.Column="0"/>
<Label Content="{Binding Path=NameR}" Grid.Column="1" HorizontalAlignment="Center"/>
</Grid>
</Button.Content>
</Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
</Window>
Можно установить HorizontalContentAlignment
значение Stretch
.
Для ListBox
, чтобы растягивать StackPanel
:
<ListBox x:Name="ButtonList" HorizontalContentAlignment="Stretch">
, и для Button
, чтобы растягивать Grid
:
<Button Style="{StaticResource MenuButton}" HorizontalContentAlignment="Stretch">
После этого наверное нужно будет поработать со столбцами Grid
. Например, выровнять картинку по левому краю:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Похожий вопрос на en.SO: How to get a ListBox ItemTemplate to stretch horizontally the full width of the ListBox?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть тип врага, подходя к которому, он должен выпускать в меня снаряд, соответственно должна проигрываться анимация атаки, потом задержка...