WPF鼠标按下事件无法触发。

16

我一定是在这里做了些愚蠢的事情,但是当我在单击用户控件时无法触发MouseDown事件。让我发疯了。

以下是用户控件的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;
        }

为什么当我点击用户控件时它不会触发?

1个回答

44

你的MouseDown事件是由RichTextBox处理的。请改用PreviewMouseDown事件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接