我无法左对齐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>我希望弹出按钮的内容左对齐,但它们保持在右侧。
发布于 2019-07-03 09:49:03
创建一个可重现的例子让我认识到我的错误。属性FlowDirection在父StackPanel中意外设置为RightToLeft。恢复这一点可以解决问题。
https://stackoverflow.com/questions/56844896
复制相似问题