【发布时间】:2011-07-16 00:19:02
【问题描述】:
我遇到了一个关于在 Windows Phone 应用程序中使用 WebBrowser 控件的奇怪问题。问题是当您使用 WebBrowser 控件时,它会“窃取”焦点并阻止将其设置为任何其他控件,直到发生用户输入。 WebBrowser 本身甚至不必与文本框位于同一页面上。
考虑一个场景:
创建一个空的应用程序。
在主页上放置一个 WebBrowser 和一个 TextBox (rootvisual)。
现在在页面加载事件(或其他任何地方)中尝试将焦点设置在文本框 tbx.Focus();
理论上文本框将获得焦点,SIP(软件键盘)将向上滑动...但文本框将缺少光标,您将无法输入任何内容。
如果您将文本框放在不同的页面上并在应用程序启动后使用应用程序栏导航到它而不触摸其他任何内容,也会发生同样的事情。FocusManager.GetFocusedElement() 表明我们的文本框确实有焦点。
如何解决这个问题?很烦人:)
顺便说一句。问题存在于:
- 运行版本 7.0.7004.0 的设备(在 NoDo 之前,初始版本?)
- 运行 NoDo 的设备
问题不存在于:
- 运行芒果的设备
- 模拟器(为 Mango 设计的 7.1)
感谢任何帮助。
【问题讨论】:
标签: windows-phone-7 focus webbrowser-control