我无法使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>
我希望弹出菜单的内容向左对齐,但它们会保留在右侧。
答案 0 :(得分:0)
创建一个可复制的示例使我意识到自己的错误。属性FlowDirection
在父项RightToLeft
中意外设置为StackPanel
。还原此即可解决问题。