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
。恢复这个可以解决问题。
我无法左对齐 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
。恢复这个可以解决问题。