我正在使用模拟器测试一个简单的 Windows Phone 8 应用程序。我发现在应用程序的初始加载时, Button 对象不会正确响应长按 - 如果该按钮是我单击的第一件事(假设我单击并按住),它只会触发 Click 事件就像我快速点击它一样绑定到按钮。但是,如果我点击屏幕中的其他位置,然后长按按钮,它的行为正确(即它被突出显示,但在我取消单击之前不会执行其 Click 事件)。
由于我没有 Windows 手机,我不确定这是模拟器特定的问题还是什么。但是,假设不是,我认为这是焦点问题,因为我可以单击屏幕上的其他位置,然后长按按钮并使其正常运行。
我的第一个想法是在应用程序最初加载时赋予按钮焦点。但是,我不太清楚如何做到这一点,因为当我尝试在 onNavigatedTo 事件或 Loaded 事件中使用 myButton.Focus() 时,按钮实际上并没有获得焦点(名称“Loaded”似乎是有点误导;当我在绑定到该事件的函数中放置断点时,我可以看到当前屏幕的背景尚未加载)。加载 UI 后,是否有另一个函数可以调用 myButton.Focus() ?如果没有办法最初分配按钮焦点,我就没有主意了。有没有人可以解决这个问题?