Как я могу на странице в UWP Pivot проверить, является ли она активной страницей - PullRequest
0 голосов
/ 07 июня 2018

У меня есть элемент управления Pivot (вкладка) с несколькими Page s, которые подписаны на фоновые события (например, сетевой ввод-вывод, последовательный ввод-вывод и т. Д.).

Когда запускаются определенные фоновые события, Page с дисплей MessageDialog с.

Проблема в том, что, поскольку все Page s в Pivot активны, когда родитель с Pivot активен, я могу быть на Page1 и иметь Page2, выбрасывающих MessageDialogв ответ на фоновое событие, которое уместно / полезно только, если я на Page2.

private void ReceivedSomeEvent(Object sender, EventArgs args)
{
    var t = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () =>
    {
        var dialog = new Windows.UI.Popups.MessageDialog("Some Event Complete");
        await dialog.ShowAsync();
    });
}

Что я хотел бы сделать, это обернуть логику MessageDialog в проверку if (pageHasFocus), но у меня нет свойства для проверки Page или пары переопределения пары событий / методов, которую я могу использовать для установки логического флага соответствующим образом.

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете попробовать это:

private async void MyPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
     if (MyPivot.SelectedIndex == 0)
     {
          // page1 code here
     }
     else if (MyPivot.SelectedIndex == 1)
     {
          // page2 code here
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...