Tengo un ListBox
con un ItemTemplate
que consiste en un TextBlock
y un ComboBox
. El problema es que el ancho del texto dentro de TextBlock
no es el mismo para cada elemento y los controles ComboBox
no están alineados.
¿Cómo puedo configurar el TextBlock
en la plantilla para que todos los elementos tengan el mismo ancho, que es el más ancho?¿Cómo puedo hacer que una columna en un cuadro de lista en WPF tenga el mismo ancho para todos los artículos?
Aquí es mi xaml:
<ListBox MinHeight="100" ItemsSource="{Binding Trainees}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Center" Grid.Column="0">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}, {1}">
<Binding Path="LastName" />
<Binding Path="FirstName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<ComboBox HorizontalAlignment="Left" Grid.Column="1"
ItemsSource="{Binding Source={StaticResource Functions}}" SelectedValue="{Binding Path=Function}"
MinWidth="100" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Perfecto, gracias –