这是我的xamal:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<RichTextBox Grid.Row="0" Height="250" x:Name="_richTextBox" MouseLeave="_richTextBox_MouseLeave" MouseEnter="_richTextBox_MouseEnter" MouseLeftButtonDown="_richTextBox_MouseLeftButtonDown"></RichTextBox>
<Button Grid.Row="1" Content="Button" x:Name="_buttonColor" Click="ButtonColor_Click"></Button>
</Grid>
问题是鼠标进入/离开事件触发并且鼠标按下不会触发。你知道哪个可能是问题吗?
我现在注意到,只有点击富文本框边距时才会触发点击。我可以在richtextbox内容中获得click事件吗?
答案 0 :(得分:2)
我终于找到了解决这个问题的方法。 我们的想法是创建一个新的CustomRichTextEditor,它继承原始的并重写鼠标事件。
public class CustomRichTextArea : RichTextBox
{
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
//handle mouse event here
}
}
我希望这会有所帮助。
答案 1 :(得分:0)
文本框的内容是[很多]其他控件,所以我想鼠标按下事件由他们处理。
您需要将鼠标向下处理程序添加到RichTextBox的所有子元素,因为它们不会将该事件冒泡回父级。
如果我有机会,我今晚会发布测试/样本。