【发布时间】:2023-04-11 11:00:01
【问题描述】:
我有一个ListBox 和一个ItemTemplate,由一个TextBlock 和一个ComboBox 组成。问题是 TextBlock 内的文本宽度对于每个项目都不相同,并且 ComboBox 控件未对齐。
如何在模板中设置TextBlock,使所有项目的宽度相同,即最宽的项目之一?
这是我的 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>
【问题讨论】:
标签: wpf listbox width itemtemplate