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
Значение свойства
bool
Значение true , если всплывающий элемент должен отображаться в пределах корня XAML; в противном случае — 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 island или AppWindow.