2011-06-30 7 views
1

を発射ないこれが私のxamalです:Silverlightのリッチテキストボックスの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のコンテンツでclickイベントを取得できますか?

答えて

2

私はついにこの問題を解決する方法を見つけました。 オリジナルのものから継承し、マウスイベントをオーバーライドする新しいCustomRichTextEditorを作成することです。

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

これが役立ちます。

0

テキストボックスの内容は[たくさんの]他のコントロールですので、私はマウスのダウンイベントがそれらによって処理されると思います。

リッチテキストボックスのすべての子要素にマウスダウンハンドラを追加する必要があります。リッチテキストボックスは、そのイベントを親に戻してバブリングしないからです。

チャンスがあれば、今夜テスト/サンプルを投稿します。

関連する問題