gpt4 book ai didi

Wpf面板背景问题

转载 作者:行者123 更新时间:2023-12-03 22:46:47 24 4
gpt4 key购买 nike

当我不设置面板背景时,我无法在其上获得鼠标事件。为什么会有这种行为?我可以通过将背景设置为透明(默认情况下为空)来获取面板上的鼠标事件。Background null 和 Transparent 有什么区别?

最佳答案

Background=null 时,它不会在渲染时向 MILCore 发出任何绘图命令,并且它不会在 HitTest 中计算控件的整个区域。

Background=Transparent时,它在渲染时向MILCore发出一个普通的绘图命令,并且在 HitTest 中控制整个区域。

Brushes.Transparent 实际上是一个普通的画笔,其 alpha(不透明度) channel 设置为零。因此,它在大多数情况下就像普通颜色一样。如果背景是普通颜色,则鼠标点击会被检测到,因此 Brushes.Transparent 也会被检测到。

也就是说,有几个地方的代码会检测到 Brushes.Transparent 并通过完全省略绘图命令来优化它。例如,这发生在窗口透明度与操作系统的交互中:操作系统没有被告知任何用 Brushes.Transparent 绘制的区域都是应用程序的一部分,因此点击它没有任何反应。为此,这是通过特殊外壳 Brushes.Transparent 完成的。

关于Wpf面板背景问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1720444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com