2013-07-24 17 views
11

ここでは何か愚かなことをする必要がありますが、UserControlをクリックするとMouseDownイベントが発生することはありません。私を怒らせる。WPFマウスダウンイベントは発生しません

ここでユーザーコントロールのためのXAMLです:

<UserControl x:Name="cusTextBox" x:Class="StoryboardTool.CustomTextBox" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300" MouseDown="cusTextBoxControl_MouseDown"> 
    <Grid> 
     <RichTextBox x:Name="richTextBox"> 
      <RichTextBox.ContextMenu> 
       <ContextMenu> 
        <MenuItem x:Name="ContextMenuBringForward" Header="BringForward" Click="ContextMenuBringForward_Click"/> 
        <MenuItem x:Name="ContextMenuSendBackward" Header="SendBackward" Click="ContextMenuSendBackward_Click"/> 
       </ContextMenu> 
      </RichTextBox.ContextMenu> 
     </RichTextBox> 
    </Grid> 
</UserControl> 

コードの後ろ:

private void cusTextBoxControl_MouseDown(object sender, MouseButtonEventArgs e) 
     { 
      selected = (CustomTextBox)sender; 
     } 

なぜ私はユーザーコントロールをクリックしています。この火を文句を言いませんか?

答えて

32

あなたはMouseTownをRichTextBoxで処理します。代わりにPreviewMouseDownを使用してください。

+0

+1これは私にしばらく時間を節約しました!ありがとうございました! – gleng

+0

同じ問題がありました。私は推測していないだろう... – GravityWell

関連する問題