如何在UserControl中为WebBrowser控件创建textchange事件?

时间:2016-11-04 14:10:22

标签: c# wpf user-controls webbrowser-control textchanged

我使用WebBrowser控制来显示/编辑电子邮件中的正文内容。我在UserControl中做了所有这些。

我一直在寻找设计师的活动,WebBrowser没有WebBrowser.TextChange方法。我想在上面写一个检测用户输入字符数的方法。 (只有文字,忽略图像等......)

1 个答案:

答案 0 :(得分:1)

System.Windows.Controls.WebBrowser没有text属性,因此它没有TextChanged事件。如果你真的想这样做,你可以尝试KeyDwon或KeyUp事件来实现它。

评论无法粘贴长代码,因此我在此处添加代码。

<UserControl x:Class="WpfApplication2.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
<Grid>
    <WebBrowser Name="wb" TextInput="wb_TextInput" KeyDown="wb_KeyDown" Visibility="Visible"/>
</Grid>
</UserControl>


public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
        //wb.Navigate("http://www.baidu.com");
        wb.Navigate("http://www.bing.com");
    }

    private void wb_TextInput(object sender, TextCompositionEventArgs e)
    {
        //not work
    }

    private void wb_KeyDown(object sender, KeyEventArgs e)
    {
        MessageBox.Show(e.Key.ToString());
        e.Handled = false;
    }
}