我正在研究UWP应用程序,并且我的逻辑依赖于应用程序焦点的获得/损失:
...
Window.Current.Activated += Current_Activated;
...
//My code depends on this flag
public bool IsViewCurrentlyInFocus { get; private set; }
private void Current_Activated(object sender, WindowActivatedEventArgs e)
{
IsViewCurrentlyInFocus = e.WindowActivationState != CoreWindowActivationState.Deactivated;
}
我注意到用户可以与我的应用程序进行交互(例如:滚动列表视图),但事件未被提升 - 仅在点击/点击页面时...
如何确定与我的应用程序进行某种交互?
提前致谢
答案 0 :(得分:1)
请参阅documentation:
当窗口成为前景窗口时发生。
简而言之,这是一个Window
事件,它不会影响窗口中的元素。在您的方案中,您可以使用IsActive
属性来确定是否正在使用Window
。对于单个元素,我建议分别使用GotFocus
事件和IsFocused
属性。
如果您专门尝试检测ListView
中的滚动,这是不可能的,但您可以检查this answer。