处理文本选择wp8 Webbrowser

时间:2014-01-24 10:07:12

标签: windows-phone-8

我使用WP8 webbrowser控件来显示一个html页面,而xaml就是这样的

  <Grid Grid.Row="1" >
   <phone:WebBrowser  IsScriptEnabled="True" x:Name="mainBrowserControl">
            <tools:GestureService.GestureListener>
                <tools:GestureListener DragCompleted="GestureListener_DragCompleted"/>
            </tools:GestureService.GestureListener>
        </phone:WebBrowser>
</Grid>

我想要做的是当用户在浏览器中选择一些文本时显示一个应用程序栏。为此,我听到DragCompleted事件并在有一些选择的文本时显示应用程序栏。使用的代码是

private void GestureListener_DragCompleted(object sender, DragCompletedGestureEventArgs e)
    {
        string selected_text = "";
        try
        {
          selected_text= //get selected text from browser
        }
        catch { }
        if (!string.IsNullOrEmpty(selected_text.Trim()))
        {
           Show Applicationbar menus
        }
    }

但是这种方法的问题是如果用户只是在浏览器中选择文本,默认的复制图标是可见的,但我如何在底部显示应用程序栏菜单(因为我没有拖动选择,只是制作一个仅限选择 - 更像是双击)查看附加的图像enter image description here

1 个答案:

答案 0 :(得分:0)

第一个问题。您可以通过此

在WebBrowser中获取所选内容
function GetSelectedText() {
   window.external.Notify(document.selection.createRange().htmlText);           
}

GestureListener_DragCompleted中调用browser.InvokeScript(“GetSelectedText”);

您可以在browser.ScriptNotify事件中获取文本

第二个问题,我也不知道。如果您有解决方案,请告诉我。谢谢!