2013-07-24 14 views
11

Qui devo fare qualcosa di stupido ma non riesco a far scattare un evento MouseDown quando faccio clic su UserControl. Mi fa diventare matto.L'evento del mouse verso il basso WPF non si attiva

Ecco il codice XAML per il controllo UserControl:

<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> 

Codice Dietro:

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

Perché abituato questo fuoco quando sto facendo clic sul controllo utente?

risposta

32

You MouseDown è gestito da RichTextBox. Utilizzare invece PreviewMouseDown.

+0

+1 Questo mi ha salvato un po 'di tempo! Grazie Bill! – gleng

+0

Aveva lo stesso problema. Non avrei mai indovinato... – GravityWell

Problemi correlati