UWP Button.Flyout的左对齐内容。

时间:2019-07-02 03:23:16

标签: xaml uwp alignment flyout

我无法使Flyout的内容左对齐。

enter image description here

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>

我希望弹出菜单的内容向左对齐,但它们会保留在右侧。

1 个答案:

答案 0 :(得分:0)

创建一个可复制的示例使我意识到自己的错误。属性FlowDirection在父项RightToLeft中意外设置为StackPanel。还原此即可解决问题。