将弹出窗口放在按钮(UWP,XAML,C#)下

时间:2018-08-16 10:49:07

标签: c# xaml uwp uwp-xaml

我创建了一个Button。当按下按钮时,将显示Popup。问题是,弹出窗口在左上方,而按钮在右侧。

在XAML中我必须做什么才能使弹出窗口显示在按钮下方?

我什至试图通过HorizontalAllignment将弹出窗口放在右上角。然后的问题是,弹出窗口在我的程序之外(在它的右边。从字面上看)。

2 个答案:

答案 0 :(得分:1)

只需在新的 winUi 库中使用新的 DropDownButton ,它就会在按钮下方出现内置弹出窗口,并且该按钮的右侧甚至还有一个箭头,它非常适合您的情况。只需使用nuget包,文档就在这里:https://docs.microsoft.com/en-us/uwp/toolkits/winui/

答案 1 :(得分:0)

您可以使用附加到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

  

如果PopupFlyoutMenuFlyoutToolTip(对于Windows 8应用程序,则为ContentDialog),请勿使用MessageDialog更合适。