Silverlight RichTextBox MouseLeftButtonDown未触发

时间:2011-06-30 11:26:33

标签: silverlight events richtextbox

这是我的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事件吗?

2 个答案:

答案 0 :(得分:2)

我终于找到了解决这个问题的方法。 我们的想法是创建一个新的CustomRichTextEditor,它继承原始的并重写鼠标事件。

 public class CustomRichTextArea : RichTextBox
 {
    protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
    {
        base.OnMouseLeftButtonDown(e);
        //handle mouse event here 
    }
 }

我希望这会有所帮助。

答案 1 :(得分:0)

文本框的内容是[很多]其他控件,所以我想鼠标按下事件由他们处理。

您需要将鼠标向下处理程序添加到RichTextBox的所有子元素,因为它们不会将该事件冒泡回父级。

如果我有机会,我今晚会发布测试/样本。