c# - 单击 UserControl 内的按钮不会触发 UserControls MouseDown 事件
问题描述
我有一个Page
,里面我生成了几个副本UserControl
。当UserControl_MouseDown
事件被触发时,页面应该做一些事情。一切正常,直到用户单击 aUserControl
存在的部分Control
。如您所料,Control
防止UserControl_MouseDown
事件触发。
页
//Fired when the StackPanel is clicked but not when the TextBox is.
private void UserControl_MouseDown(object sender, MouseButtonEventArgs e)
{
//Do stuff
}
用户控制
<StackPanel>
<TextBox/>
</StackPanel>
解决方案
由于控件倾向于吞下事件,因此您可以使用PreviewMouseDown
-Event:
<UserControl PreviewMouseDown="UserControl_MouseDown">
<StackPanel>
<TextBox />
</StackPanel>
</UserControl>
推荐阅读
- java - 如何使用数组列表解析 json 响应
- typescript - 我可以根据字符串中的字符创建类型吗
- r - 为一系列文件添加时差
- php - 如何在 Codeigniter 的数据表中发送 ajax 请求
- ethereum - 如何提高私有以太坊网络的可用性
- product - 如何在信任平台上列出所有产品?
- html - 如何在保持锚href功能的同时使li元素具有相同的宽度
- powershell - 在 Start-Job 中将活动的 Powershell PSSession 连接作为参数传递
- plugins - 当评论说“使用页面变量做某事”时,评论是什么意思?
- c++ - 当包含它的对象调用其析构函数时,unique_ptr 是否未分配?