FlyoutBase.ShouldConstrainToRootBounds 属性

定义

获取或设置一个值,该值指示是否应在 XAML 根的边界内显示浮出控件。

public:
 property bool ShouldConstrainToRootBounds { bool get(); void set(bool value); };
bool ShouldConstrainToRootBounds();

void ShouldConstrainToRootBounds(bool value);
public bool ShouldConstrainToRootBounds { get; set; }
var boolean = flyoutBase.shouldConstrainToRootBounds;
flyoutBase.shouldConstrainToRootBounds = boolean;
Public Property ShouldConstrainToRootBounds As Boolean

属性值

Boolean

bool

如果浮出控件应显示在 XAML 根的边界内,则为 true;否则为 false

Windows 要求

设备系列
Windows 10, version 1903 (在 10.0.18362.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v8.0 中引入)

示例

在此示例中,浮出控件默认不限于根边界。 因此,只要屏幕上有空间,就接受将浮出控件放置在按钮下方的请求。 浮出控件显示在应用窗口外部。

<Button Content="Button"
        VerticalAlignment="Bottom" HorizontalAlignment="Center">
    <Button.Flyout>
        <Flyout Placement="Bottom">
            <TextBlock Text="Flyout content" />
        </Flyout>
    </Button.Flyout>
</Button>
关闭的应用栏控件

在此示例中, ShouldConstrainToRootBounds 设置为 true,因此浮出控件仅限于根边界。 因此,不遵循将浮出控件放置在按钮下方的请求,并且浮出控件显示在按钮上方的应用窗口中。

<Button Content="Button"
        VerticalAlignment="Bottom" HorizontalAlignment="Center">
    <Button.Flyout>
        <Flyout Placement="Bottom"
                ShouldConstrainToRootBounds="True">
            <TextBlock Text="Flyout content" />
        </Flyout>
    </Button.Flyout>
</Button>
关闭的应用栏控件

注解

默认值取决于派生类型。 对于 浮出控件,默认值为 true。 对于 MenuFlyoutCommandBarFlyout,默认值为 false

此属性仅适用于在桌面上运行的应用。 若要检查浮出控件是否实际受限于根边界,检查 IsConstrainedToRootBounds 属性。

在桌面上运行的应用中,当此属性为 true 时,浮出控件显示在main XAML 窗口句柄 (HWND) 中。 当此属性为 false 时,浮出控件将显示在其自己的顶级 HWND 中。 在这种情况下,浮出控件的位置可能会扩展到main应用窗口之外。

首次显示带有 ShouldConstrainToRootBounds = false 的浮出控件时,该浮出控件将放置在其自己的窗口中,并显示在该上下文中。 显示后, ShouldConstrainToRootBounds 不能重新设置为 true

XAML 根可能是 CoreWindowXAML 岛AppWindow

适用于

另请参阅