【发布时间】:2015-03-20 12:18:58
【问题描述】:
我正在尝试用 XAML 制作一个基本的浏览器:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox x:Name="urlBox"
Text="{Binding ElementName=webView,Path=Source,Mode=TwoWay}"
KeyDown="OnUrlEnter" AcceptsReturn="False"
TextWrapping="Wrap"/>
<WebView Grid.Row="1" x:Name="webView"/>
</Grid>
我想要的是,当用户单击 WebView 中的链接时,URL TextBox 会相应更新,当然,如果用户输入 URL 并按 [Enter] 按钮,webView 应该导航到指定的 URL,但我已经实现了。我曾尝试处理NavigationStarting、NavigationCompleted、NavigationFailed(已弃用)、LoadCompleted(已弃用),但当用户单击WebView 中的链接时,它们都不能帮助我获取新的 URL。 (事件处理程序仅在我执行webView->Navigate 时调用一次。不用说,{Binding ElementName=webView,Path=Source,Mode=TwoWay} 似乎不起作用。)
我应该怎么做才能同步WebView的URL和TextBox?应该有一个简单的方法来做到这一点。
【问题讨论】: