Ich habe eine ListBox
mit einer ItemTemplate
bestehend aus einer TextBlock
und einer ComboBox
. Das Problem ist, dass die Breite des Textes in der TextBlock
nicht für jedes Element identisch ist und die ComboBox
Steuerelemente nicht ausgerichtet sind.
Wie kann ich die TextBlock
in der Vorlage festlegen, so dass alle Elemente die gleiche Breite haben, das ist eines der breitesten?Wie kann ich eine Spalte in einer Listbox in WPF für alle Elemente gleich breit machen?
Hier ist meine 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>
Perfekt, danke –