【发布时间】:2021-06-30 20:20:23
【问题描述】:
我创建了一个Button。按下按钮时,会出现Popup。问题是,弹出窗口在左上角,而按钮在右侧。
我必须在 XAML 中做什么才能使弹出窗口出现在按钮下方?
我什至尝试通过HorizontalAllignment 将弹出窗口放在右上角。那么问题是弹出窗口在我的程序之外(就在它旁边。字面意思)。
【问题讨论】:
-
试过了。放置和放置目标“无法识别或无法访问”
我创建了一个Button。按下按钮时,会出现Popup。问题是,弹出窗口在左上角,而按钮在右侧。
我必须在 XAML 中做什么才能使弹出窗口出现在按钮下方?
我什至尝试通过HorizontalAllignment 将弹出窗口放在右上角。那么问题是弹出窗口在我的程序之外(就在它旁边。字面意思)。
【问题讨论】:
只需使用新 winUi 库中的新 DropDownButton,它有一个内置弹出窗口,位于按钮下方,按钮右侧甚至有一个箭头,它非常适合您的场景。只需使用 nuget 包,文档在这里:https://docs.microsoft.com/en-us/uwp/toolkits/winui/
【讨论】:
您可以使用附加到特定控件(包括Button)的Flyout,然后您可以使用Placement 属性指定浮出控件出现的位置:上、左、下、右或全。因此,您可以使用Placement 属性来指定浮出控件出现在按钮下方,如下代码所示。
<Button Content="Click me">
<Button.Flyout>
<Flyout Placement="Bottom">
<TextBlock Text="This is a flyout!"/>
</Flyout>
</Button.Flyout>
</Button>
顺便说一句,就像我们suggestion in the Remark part,
如果 Flyout、MenuFlyout、ToolTip 或 ContentDialog(MessageDialog 用于 Windows 8 应用程序)更合适,则不要使用 Popup。
【讨论】: