我正在尝试自定义组合框内显示的内容。对于组合框定义,我的来源如下:
<ComboBox
x:Name="ServicesComboBox"
Margin="36,220,36,0"
VerticalAlignment="Top"
SelectionChanged="ComboBox_SelectionChanged"
ItemTemplate="{StaticResource MetricService}"
BorderBrush="#CC000000">
我正在使用的项目模板如下:
<UserControl.Resources>
<DataTemplate x:Key="MetricService">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding MetricsName}" FontSize="16"/>
<TextBlock Text="{Binding MetricsProvider}" Foreground="#FF878787"
FontSize="16" Grid.Column="2" HorizontalAlignment="Right"/>
</Grid>
</DataTemplate>
</UserControl.Resources>
结果是这张图片:
单击组合框时会出现问题,我看到的是:
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
您需要将项目的HorizontalContentAlignment设置为Stretch,如下所示:
<ComboBox x:Name="ServicesComboBox"
Margin="36,220,36,0"
VerticalAlignment="Top"
BorderBrush="#CC000000"
SelectionChanged="ComboBox_SelectionChanged"
ItemTemplate="{StaticResource MetricService}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>