ほしいときにぱっととる事はできなさそうです。
ということで、Window.Current.CoreWindowのActivatedイベントでとっておく必要があります。
こんな感じで
// どこかでイベントを購読して Window.Current.CoreWindow.Activated += CoreWindow_Activated; // こんな感じで状態をとっておくprivate CoreWindowActivationState State { get; set; } privatevoid CoreWindow_Activated(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowActivatedEventArgs args) { // アクティブかどうかの状態をフィールドあたりにとっておくthis.State = args.WindowActivationState; }
CoreWindowActivationState列挙体は、以下の値をもってます。
CoreWindowActivationState Enumeration (Windows)
- CodeActivated: Activateによりアクティブ化された
- Deactivated: 非アクティブ
- PointerActivated: マウスやタッチでアクティブ化された
この値を見ることで、アクティブかどうかが判定できます。アクティブかどうかで見た目を変えるとかできそうですね。