2011-06-30 25 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的所有子元素,因爲它們不會將該事件冒泡回父級。

如果我有機會,我會在今晚發佈測試/樣本。

相關問題