UWP 的左对齐内容 Button.Flyout

Left-align Contents of a UWP Button.Flyout

我无法左对齐 Flyout 的内容。

Windows 似乎自动右对齐 window 右侧显示的弹出内容。我尝试设置子项的 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>

我希望弹出的内容左对齐,但它们仍然在右对齐。

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