【发布时间】:2012-05-28 18:04:40
【问题描述】:
在我的 Windows Phone 7 网络浏览器应用程序中,我编写了一个代码来隐藏文本框和应用程序栏。隐藏这些东西后,我需要将 Web 浏览器控件拉伸并使其成为全屏 Web 浏览器。发生了一些奇怪的事情。如果我没有在 UrlTextBox 中输入任何内容并且如果我触摸了 Web 浏览器控件(目前它是空白的),Web 浏览器控件会拉伸到全屏(见图 1)但是如果我在 UrlTextBox 中输入了一些 URL(即导航到那个 URL),如果我触摸了 Web 浏览器控件(见图 2),它不会被扩展。下面的图片可以给你一些想法。
图片 1-
图片2-
下面的代码用来隐藏上面的东西-
private void browsers_Focus(object sender, RoutedEventArgs e)
{
UrlTextBox.Visibility = Visibility.Collapsed;
Back.Visibility = Visibility.Collapsed;
Forward.Visibility = Visibility.Collapsed;
}
我的 .xaml 页面-
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBox x:Name="UrlTextBox" Background="White" InputScope="URL"
KeyDown="UrlTextBox_KeyDown" Margin="0,0,98,0" GotFocus="UrlTextBox_GotFocus" LostFocus="UrlTextBox_LostFocus" KeyUp="UrlTextBox_KeyUp"/>
<Grid x:Name="BrowserHost"
Grid.Row="1" GotFocus="BrowserHost_GotFocus">
</Grid>
我需要的是“如果用户触摸浏览器控件,那么浏览器控件应该拉伸到全屏”。 有人可以帮我吗?提前感谢您的努力!
【问题讨论】:
-
看起来浏览器的内容正在获得输入焦点,而不是浏览器。看起来您在尝试根据该控件的焦点执行 UI 任务时会遇到问题。
-
做,你有这个想法。如果用户触摸浏览器控件,则浏览器控件应拉伸到全屏。你能帮帮我吗?
-
不,我不能。我只能告诉你,控件中的 content 将焦点从控件本身移开。你需要以不同的方式实现你的目标。不知道是哪条路。
-
请展示您的尝试。另请阅读stackoverflow.com/questions/how-to-ask、tinyurl.com/so-hints 和codinghorror.com/blog/2012/03/rubber-duck-problem-solving.html 另外,将 cmets 添加到旧问题中,让回答他们的人查看您的问题不是我们在这里做事的方式。我们完全有能力找到新的、未解决的问题,并会帮助那些渴望自助的人。
标签: c# windows-phone-7