У меня есть элемент управления 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
или пары переопределения пары событий / методов, которую я могу использовать для установки логического флага соответствующим образом.