WPF容器的背景对鼠标事件的影响

这篇具有很好参考价值的文章主要介绍了WPF容器的背景对鼠标事件的影响。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:在实现鼠标拖动窗口的过程中发现对父容器设置了鼠标拖动窗口的事件MouseLeftButtonDown

private void DragWindow(object sender, MouseButtonEventArgs e)
{

    if (e.LeftButton == MouseButtonState.Pressed)
        DragMove();
}

问题:非常困惑的是,竟然有的地方可以被点击拖动,但是有的却不行。

WPF容器的背景对鼠标事件的影响,C#,wpf,wpf,c#

而且只有在设置了Background的这个地方是可以被点击拖动的

搜索了好一会发现确实是Background的问题

  • 当控件(如 Grid)的背景设置为 null(默认情况),它实际上是不可见的,并且不参与命中测试(hit testing)。命中测试是 WPF 用来决定哪个控件应该接收鼠标事件的过程。
  • 如果一个控件不参与命中测试,当您尝试点击该控件时,实际上点击的是位于该控件下面的其他控件或窗口。

因此需要设置了Background了才能命中该容器,如果不需要颜色的可以设置为Transparent文章来源地址https://www.toymoban.com/news/detail-775553.html

到了这里,关于WPF容器的背景对鼠标事件的影响的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF——事件绑定命令

    我们都知道WPF中的命令在结合MVVM模式的框架使用之后(框架重新实现了ICommand),可以解耦。但并不是所有控件都可以绑定命令的,比如TextBox、ComboBox等。在使用这类控件时,如果你想让它的某个事件激发时调用ViewModel中的方法,往往需要把ViewModel中的方法暴露给View,然后在

    2024年02月05日
    浏览(85)
  • 【WPF】附加事件

    Microsoft 官方概述:   附加事件可用于在非元素类中定义新的 路由事件 ,并在树中的任何元素上引发该事件。 为此, 必须将附加事件注册为路由事件 ,并提供支持附加事件功能的特定 支持代码 。 由于附加事件注册为路由事件,因此在元素树中引发时,它们会传播到元素

    2024年02月05日
    浏览(74)
  • WPF 异步加载数据,窗体事件

    加载WPF界面时,需要获取数据,而数据返回的时间比较长,这个时候可以异步加载数据到界面。   1、首先在XAML中触发窗口载入事件  2、在后台代码中处理窗口载入事件 (1)找到主窗口类   (2)在MainWindow类中添加 XAML中加入的窗口载入事件   这个事件中可以放置各种界面

    2024年02月05日
    浏览(44)
  • WPF--关于Action事件小结

    WPF--关于Action事件小结 1.需要类实例去调用事件建立订阅关系         public event Actionint, object MaintainEvent;         new GP1().MaintainEvent += NormalCmdAction; 2.static用处--在不便实例的时候,可以直接由类调用         public static event Actionint, object MaintainEvent;         GP1.MaintainEvent +=

    2024年02月12日
    浏览(30)
  • 【WPF.NET开发】预览事件

    先决条件 预览标记为“已处理”的事件 通过控件解决事件禁止问题 预览事件,也称为隧道事件,是从应用程序根元素向下遍历元素树到引发事件的元素的路由事件。 引发事件的元素在事件数据中报告为Source 。 并非所有事件场景都支持或需要预览事件。 本文介绍了预览事件

    2024年02月03日
    浏览(48)
  • WPF开发经验-WPF的TextBox控件的MouseDown事件不响应的解决方法

    最近项目有个需求,大概是,当点击某个TextBox时,先执行一些业务上的逻辑处理。 于是按以往思维,将TextBox的MouseDown事件关联事件处理方法,将业务处理写在方法里。 调试发现,点击TextBox时,事件处理方法未执行。 通过查阅微软官方文档了解到问题原因。 附上文档链接:

    2024年02月08日
    浏览(44)
  • WPF 如何实现事件绑定 (MVVM)

    首先说到绑定,一般是在WPF 中常见的,因为WPF中有一个比较好用的框架叫做 MVVM 所以View层的按钮等元件的的动作都是需要和后台ViewModel 中的函数进行绑定的。 如 我们最常见的按钮的command 绑定 这里面的command 是命令,不是事件 如果点击图片,或者按钮抬起来的时候需要触

    2024年02月04日
    浏览(54)
  • 【WPF.NET开发】弱事件模式

    先决条件 为什么要实现弱事件模式? 应该由谁实现弱事件模式? 如何实现弱事件模式 在应用程序中,附加到事件源的处理程序可能不会与将处理程序附加到源的侦听器对象一同销毁。 这种情况下会导致内存泄漏。 Windows Presentation Foundation (WPF) 引入了可用于解决此问题的设

    2024年02月03日
    浏览(40)
  • WPF事件绑定到Command命令

    第一步: 第二步: 第三步: 如果有问题请及时留言,仅供学习~谢谢.

    2024年02月15日
    浏览(44)
  • WPF中TextBox失去焦点事件

    限制TextBox只能输入整数,而且整数的数值范围为0-100。如果输入101后,弹窗提示输入超限 MainWindow.xaml MainWindow.xaml.cs

    2024年04月23日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包