我有ComboBox项目样式如下(简化):
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="35"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" />
<Path Grid.Column="1" Style={StaticResource StarStyle}/>
</Grid>
结果如预期。我列表中的项目如下所示:
alt text http://robbertdam.nl/share/p1.png
当我选择那个项目时。它看起来像这样:
alt text http://robbertdam.nl/share/p2.png
我希望星星对齐。我错过了什么?
答案 0 :(得分:2)
我忘了提到我已经定义了这个样式
<Style x:Key="ComboItemsStyle" TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
将此样式分配给我的ComboBox解决了这个问题:
<Style x:Key="ComboStyle" TargetType="{x:Type ComboBox}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
答案 1 :(得分:1)
“Path”对象是否具有“Align”属性?也就是说,你可以强制它与这个XAML对齐吗?
<Path Grid.Column="1" Align="Right" Style={StaticResource StarStyle}/>
修改强>
不,它没有。在这种情况下,我建议将路径嵌入到可以对齐它的容器中。也许:
<DockPanel Grid.Column="1">
<Path DockPanel.Dock="Right" Style={StaticResource StarStyle}/>
</DockPanel>