在WP7中,当页面上存在WebBrowser控件时,TextBox.Focus()不起作用

kza*_*kza 5 browser textbox focus windows-phone-7

我需要把重点放在文本框上.问题是当页面上存在WebBrowser控件时,SIP显示为选择了文本框,但光标在文本框中不可见,输入不会转到文本框.

如果我将WebBrowser控件注释掉,那么行为就像预期的那样 - 当加载页面时,光标在TextBox中闪烁.

这是XAML:

<phone:PhoneApplicationPage 
x:Class="WP7Sample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
Loaded="MainPageLoaded">

<StackPanel x:Name="LayoutRoot">
    <TextBox x:Name="txt"/>
    <phone:WebBrowser/>
</StackPanel>

</phone:PhoneApplicationPage>
Run Code Online (Sandbox Code Playgroud)

而代码隐藏:

void MainPageLoaded(object sender, RoutedEventArgs e)
{
    txt.Focus();
}
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的解决方法,但没有运气.也就是说,我试图从Load,NavigatedTo等事件中调用SetFocus.我也尝试将焦点设置为其他控件,然后返回文本框,也没有运气.

有人可以为这个问题提供解决方法吗?

顺便说一下,问题是在仿真器上,HTC Mozart和Trophy设备上重现,所有设备都安装了NoDo更新.

kza*_*kza 0

由于我们已经为 WP7 的 Mango 之前版本提供了一个 hack,所以我没有事先检查该场景。好消息,伙计们!

在 WP7 Mango 中,这个问题不存在!