FlyoutBase.ShouldConstrainToRootBounds 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示是否应在 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
属性值
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
。 对于 MenuFlyout 和 CommandBarFlyout,默认值为 false
。
此属性仅适用于在桌面上运行的应用。 若要检查浮出控件是否实际受限于根边界,检查 IsConstrainedToRootBounds 属性。
在桌面上运行的应用中,当此属性为 true 时,浮出控件显示在main XAML 窗口句柄 (HWND) 中。 当此属性为 false 时,浮出控件将显示在其自己的顶级 HWND 中。 在这种情况下,浮出控件的位置可能会扩展到main应用窗口之外。
首次显示带有 ShouldConstrainToRootBounds = false
的浮出控件时,该浮出控件将放置在其自己的窗口中,并显示在该上下文中。 显示后, ShouldConstrainToRootBounds
不能重新设置为 true。
XAML 根可能是 CoreWindow、XAML 岛或 AppWindow。