2011-06-30 23 views
1

这是我xamal:Silverlight中的RichTextBox的MouseLeftButtonDown不点火

<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内容中获得点击事件吗?

回答

2

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

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

我希望这会有所帮助。

0

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

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

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

相关问题