Как открыть NewWindow над Main Window в UWP и отключить фоновое взаимодействие Window (MainWindow)? - PullRequest
1 голос
/ 18 марта 2020

Я хочу открыть NewWindow поверх главного окна в UWP и отключить фоновое взаимодействие окна (MainWindow).

Что я уже пробовал?

AppWindow appWindow = await AppWindow.TryCreateAsync();
Frame appWindowContentFrame = new Frame();
appWindowContentFrame.Navigate(typeof(AppWindowPage));
AppWindowPage page = (AppWindowPage)appWindowContentFrame.Content;
page.MyAppWindow = appWindow;
page.TextColorBrush = new SolidColorBrush(colorPicker.Color);
ElementCompositionPreview.SetAppWindowContent(appWindow, appWindowContentFrame);
appWindow.Title = "App Window " + AppWindows.Count.ToString();
await appWindow.TryShowAsync();

Открывается новое окно , но я хочу отключить фоновое взаимодействие, и новое окно должно быть закрыто только при нажатии кнопки, которая присутствует в NewWindow.

1 Ответ

0 голосов
/ 18 марта 2020

Извините, в настоящее время UWP не имеет API для ограничения взаимодействия всего окна.

Более вероятным решением является создание Grid с high transparency в главном окне, охватывающее все элементы управления. , тем самым блокируя взаимодействие с кликом:

<Grid>
    <Grid>
        <!-- Main content -->
    </Grid>
    <Grid x:Name="MaskGrid" Background="White" Opacity="0.01" Visibility="Collapsed"/>
</Grid>

Перед вызовом await appWindow.TryShowAsync() вы можете установить MaskGrid.Visibility = "Visible". Но это не может ограничить использование клавиатуры клавиши Tab для переключения элементов управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...