单击UserControl内部的按钮不会触发UserControls MouseDown事件

时间:2020-01-28 09:51:04

标签: c# wpf

我有一个Page,在内部生成了UserControl的几个副本。该页面应该做的事 当UserControl_MouseDown 事件被触发时。一切正常,直到用户单击 在UserControl存在的Control的一部分上。如您所料,{{1} 防止触发Control事件。

页面

UserControl_MouseDown

UserControl

//Fired when the StackPanel is clicked but not when the TextBox is.
private void UserControl_MouseDown(object sender, MouseButtonEventArgs e)
{
    //Do stuff
}

1 个答案:

答案 0 :(得分:0)

由于控件倾向于吞下事件,因此您宁愿使用PreviewMouseDown-Event:

<UserControl PreviewMouseDown="UserControl_MouseDown">
    <StackPanel>
        <TextBox />
    </StackPanel>
</UserControl>

阅读:https://docs.microsoft.com/en-us/dotnet/api/system.windows.uielement.previewmousedown?view=netframework-4.8