gpt4 book ai didi

wpf - 在 XAML 中,为什么透明背景会阻止此触发器?

转载 作者:行者123 更新时间:2023-12-04 18:34:27 33 4
gpt4 key购买 nike

只有当我将背景设置为透明时才会发生这种情况,这是我需要的效果。例如,将背景更改为 AliceBlue,可使触发器生效。
幕后可能会遗漏什么?

<Window
AllowsTransparency="True"
Background="Transparent">
<Window.Style>
<Style>
<Style.Triggers>
<Trigger Property="Window.IsActive" Value="True">
<Setter Property="Window.Cursor" Value="ArrowCD" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Style>
<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock>
Some Text
</TextBlock>
</Grid>
</Window>

最佳答案

这是 layered windows 的副作用在 Win32 级别处理:完全透明的像素(即具有零 alpha)在 HitTest 中不可见,因此不会生成鼠标事件。

由于所有鼠标事件都通过您的窗口,因此不会显示您的窗口光标。因此,虽然您的触发器可能会触发,但 HitTest 行为会使它变得无用。即使您对窗口的 Cursor 进行了硬编码属性(property)到ArrowCD ,除非鼠标悬停在窗口内的非透明内容上,否则您永远不会看到该光标。

关于wpf - 在 XAML 中,为什么透明背景会阻止此触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20504723/

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