【问题标题】:Silverlight RichTextBox MouseLeftButtonDown not firingSilverlight RichTextBox MouseLeftButtonDown 没有触发
【发布时间】:2011-07-01 19:00:10
【问题描述】:

这是我的 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内容中获取点击事件吗?

【问题讨论】:

    标签: silverlight events richtextbox


    【解决方案1】:

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

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

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 2012-03-02
        • 2016-06-22
        相关资源
        最近更新 更多