如何在UserControl中为WebBrowser控件创建textchange事件?
本文关键字:创建 textchange 事件 控件 WebBrowser UserControl 中为 | 更新日期: 2023-09-27 18:16:32
我使用WebBrowser
控件来显示/编辑电子邮件的正文内容。所有这些都是在UserControl中完成的。
我在寻找设计师的事件,WebBrowser
没有WebBrowser.TextChange
方法。我想在上面写一个方法来检测用户输入的字符数。(仅限文本,忽略图像等)
System.Windows.Controls.WebBrowser
没有文本属性,所以没有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;
}
}