C# 组合框项目的布局
我的组合框项目样式如下(简化):C# 组合框项目的布局,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我的组合框项目样式如下(简化): 结果如预期。我的列表中的一项如下所示: 然而,当我选择那个项目时。看起来是这样的: 我想让星星对齐。我缺少什么?“路径”对象是否具有“对齐”属性?也就是说,可以强制它与这个XAML对齐吗 <Path Grid.Column="1" Align="Right" Style={StaticResource StarStyle}/> 编辑 不,没有。在这种情况下,我建议将路径嵌入一个可以对齐它的容器中。也许: <DockPanel Gr
结果如预期。我的列表中的一项如下所示:
然而,当我选择那个项目时。看起来是这样的:
我想让星星对齐。我缺少什么?“路径”对象是否具有“对齐”属性?也就是说,可以强制它与这个XAML对齐吗
<Path Grid.Column="1" Align="Right" Style={StaticResource StarStyle}/>
编辑
不,没有。在这种情况下,我建议将路径嵌入一个可以对齐它的容器中。也许:
<DockPanel Grid.Column="1">
<Path DockPanel.Dock="Right" Style={StaticResource StarStyle}/>
</DockPanel>
我忘了提到我定义了这种风格
<Style x:Key="ComboItemsStyle" TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
将此样式指定给我的组合框可以解决此问题:
<Style x:Key="ComboStyle" TargetType="{x:Type ComboBox}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
我也喜欢星星向右排列的感觉。;-)谢谢你的帮助,但我已经找到了解决办法。看我的答案。啊,当然,“拉伸”是组合框和列表框的常见问题。我希望微软把它作为默认值,因为每个人都犯同样的错误(包括我自己)。
<Style x:Key="ComboStyle" TargetType="{x:Type ComboBox}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>