如何从WebBrowser WPF控件获取选定的文本并将其绑定到字符串对象?

时间:2014-08-15 11:27:48

标签: c# wpf xaml web browser

这是我的网络浏览器:

<WebBrowser viewmodel:BrowserBehavior.Html="{Binding SelectedNode.ContentData.FileName, Converter={StaticResource converter}, Mode=OneWay}" />

实际上,可以选择我的WebBrowser控件中的文本。

我想知道我是否可以检索字符串对象中的Selected部分?

PS:右键单击Selected部分时,我注意到用户可以复制所选文本。所以我的第二个问题是“我们能得到复制的文本吗?”我的意思是复制的部分应该保存在某个环境变量的某个地方,我们可以在c#中找到它吗?

1 个答案:

答案 0 :(得分:2)

您无法绑定WebBrowser中的所选文字,但可以手动获取,如下所示:

var doc = webBrowser.Document as mshtml.HTMLDocument;
if (doc != null)
{
    var currentSelection = doc.selection;
    if (currentSelection != null)
    {
        var selectionRange = currentSelection.createRange();
        if (selectionRange != null)
        {
            var selectionText = selectionRange.Text;
            //do something with selected text
        }
    }
}

其中webBroswer是您的浏览器控件

<WebBrowser x:Name="webBroswer" ... />

但您需要添加对Microsoft.mshtml的引用并回答您的第二个问题,您可以通过Clipboard

从剪贴板中复制文本
var copiedText = Clipboard.GetText();