我使用WebBrowser
控制来显示/编辑电子邮件中的正文内容。我在UserControl中做了所有这些。
我一直在寻找设计师的活动,WebBrowser
没有WebBrowser.TextChange
方法。我想在上面写一个检测用户输入字符数的方法。 (只有文字,忽略图像等......)
答案 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;
}
}