Beispiel #1
0
        public async Task FlyoutLockedOffset()
        {
            SetupBuilder();
            var label = new StackLayout()
            {
                HeightRequest = 10
            };

            var shell = await InvokeOnMainThreadAsync(() =>
            {
                return(new Shell()
                {
                    FlyoutHeader = label,
                    Items =
                    {
                        new ContentPage()
                    },
                    FlyoutBehavior = FlyoutBehavior.Locked
                });
            });

            await CreateHandlerAndAddToWindow <ShellHandler>(shell, (handler) =>
            {
                var rootManager = handler.MauiContext.GetNavigationRootManager();
                var position    = label.GetLocationRelativeTo(rootManager.AppTitleBar);
                var distance    = rootManager.AppTitleBar.ActualHeight - position.Value.Y;
                Assert.True(Math.Abs(distance) < 1);
                return(Task.CompletedTask);
            });
        }