2

我有一个包含菜单的 WPF 应用程序。我需要将菜单的标题居中:

 <MenuItem Header="_Paramètres" Height="60" Width="188" FontWeight="Bold" FontSize="16" HorizontalContentAlignment="Center"  >
     <MenuItem Header="_Régler" Height="30" Width="188" FontWeight="Bold" FontSize="16" Click="regler_Click_1"  x:Name="regler" Background="#FF150202" HorizontalContentAlignment="Center" />
 </MenuItem>

菜单项居中,但菜单标题不居中。

我怎样才能做到这一点?

4

1 回答 1

1

您应该另外设置HorizontalAlignmentroot 的MenuItem。像这样。

<MenuItem Header="_Paramètres" Height="60" Width="188" FontWeight="Bold" FontSize="16" 
          HorizontalContentAlignment="Center" HorizontalAlignment="Center" >
    <MenuItem Header="_Régler" Height="30" Width="188" FontWeight="Bold" FontSize="16" 
              Click="regler_Click_1"  x:Name="regler" Background="#FF150202"/>
</MenuItem>

此代码不需要设置HorizontalAlignmentsub 的。MenuItems

您可以在链接中找到有关Horizo​​ntalAlignmentHorizo​​ntalContentAlignment的更多信息。

编辑

好吧(评论中的问答),那么以下内容可能会有所帮助。

<MenuItem Header="_Paramètres" Height="60" Width="188" FontWeight="Bold" FontSize="16" 
          HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" >
    <MenuItem Header="_Régler" Height="30" Width="188" FontWeight="Bold" FontSize="16" 
              Click="regler_Click_1"  x:Name="regler" Background="#FF150202"
              HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"/>
</MenuItem>

顺便说一句,您应该创建一个Style,以便您可以重复使用这些设置。

编辑 2

最后一个想法。如果这不起作用,我将永远不会再使用 XAML 实现 UI。;o)

<!-- Declare this as resource -->
<Style x:Key="CenteredTextMenuItem" x:TargetType="MenuItem">
    <Setter Property="HeaderTemplate">
        <DataTemplate>
            <TextBox Text={Binding} HorizontalAlignment="Stretch" 
                     HorizontalContentAlignment="Center" FontSize="16" FontWeight="Bold"/>
        </DataTemplate>
    </Setter>
    <Setter Property="Height" Value="30"/>
    <Setter Property="Width" Value="188"/>
</Style>

用法

<MenuItem Header="_Paramètres" Height="60" Style="{StaticResource CenteredTextMenuItem}" >
    <MenuItem x:Name="regler" Header="_Régler" Click="regler_Click_1"  
              Background="#FF150202" Style="{StaticResource CenteredTextMenuItem}"/>
</MenuItem>
于 2013-04-11T13:33:14.877 回答