<RibbonWindow x:Class="xxx.yyy"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
...
<Ribbon x:Name="mainRibbon" Grid.Row="0" >
...
<RibbonTab Name="ComparisonTab" HorizontalContentAlignment="Left" Header="Comparison" >
<!--<StackPanel Orientation="Vertical" HorizontalAlignment="Left">-->
<RibbonGroup HorizontalContentAlignment="Left" Header="Images" >
<RibbonCheckBox HorizontalAlignment="Left" Width="200" IsChecked="{Binding CompInfo1Check}" Label="{Binding CompInfo1Text}" />
<RibbonCheckBox HorizontalAlignment="Left" Width="200" IsChecked="{Binding CompInfo2Check}" Label="{Binding CompInfo2Text}" />
<RibbonCheckBox HorizontalAlignment="Left" Width="200" IsChecked="{Binding CompInfo3Check}" Label="{Binding CompInfo3Text}" />
</RibbonGroup>
<!--</StackPanel>-->
</RibbonTab>
我有一些带有动态文本(标签)的复选框,我希望它们在功能区组中保持对齐 我已经尝试了所有可以想象的水平(内容)对齐组合对他们和他们的父母。我试图将它们放入容器(StackPanel,Grid)。我甚至试图将标签设置为单独的元素。
复选框固执地保持在功能区组中的中心位置。如何将它们水平对齐到左边?
答案 0 :(得分:0)
我找到了在功能区内使用标准复选框的解决方法。它们的对齐没有问题。如果需要,它们可以被设计为看起来像带状复选框。
因此,修改后的xaml是:
<RibbonTab Name="ComparisonTab" HorizontalContentAlignment="Left" Header="Comparison" >
<RibbonGroup Header="Images" >
<StackPanel Orientation="Vertical" HorizontalAlignment="Left">
<CheckBox Height="25" IsChecked="{Binding CompInfo1Check}" Content="{Binding CompInfo1Text}" />
<CheckBox Height="25" IsChecked="{Binding CompInfo2Check}" Content="{Binding CompInfo2Text}" />
<CheckBox Height="25" IsChecked="{Binding CompInfo3Check}" Content="{Binding CompInfo3Text}" />
</StackPanel>
</RibbonGroup>
</RibbonTab>
修改强>
可能更好的方法是使用网格,RibbonCheckBox而不使用标签和TextBlock。
解释here。