【问题标题】:Left-align Contents of a UWP Button.Flyout左对齐 UWP Button.Flyout 的内容
【发布时间】:2019-11-12 15:42:57
【问题描述】:

我无法左对齐 Flyout 的内容。

Windows 似乎会自动右对齐显示在窗口右侧的弹出内容。我尝试设置孩子的HorizontalAlignment 属性,设置Flyout.FlyoutPresenterStyle 属性HorizontalContentAlignment 和其他HorizontalContentAlignment 属性,但均未成功。

<StackPanel Orientation="Horizontal"
            FlowDirection="RightToLeft">
   <!-- Settings menu -->
   <Button.Flyout>
      <Flyout>
         <Flyout.FlyoutPresenterStyle>
            <Style TargetType="FlyoutPresenter">
               <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
               <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
               <Setter Property="HorizontalContentAlignment" Value="Left"/><!-- No -->
            </Style>
         </Flyout.FlyoutPresenterStyle>
         <StackPanel HorizontalAlignment="Left"><!-- No -->
            <TextBlock HorizontalAlignment="Left" HorizontalTextAlignment="Left">Settings</TextBlock><!-- No -->
            …
   </Button.Flyout>
</StackPanel>

我希望浮出控件的内容左对齐,但它们保持在右侧。

【问题讨论】:

  • 我用上面的代码创建了一个示例,但我无法重现该问题,可以分享minimal reproducible example吗?
  • @NicoZhu-MSFT 感谢您的浏览!我在问题描述中添加了导致问题的StackPanel(这也帮助我找到了解决方案)。
  • 不说了,如果你解决了问题,请标记为答案。

标签: xaml uwp alignment flyout


【解决方案1】:

创建一个可重现的例子让我意识到我的错误。属性FlowDirection 在父级StackPanel 中被意外设置为RightToLeft。恢复它可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多