gpt4 book ai didi

c# - WPF:不透明度和 MouseEnter 事件

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:31 25 4
gpt4 key购买 nike

作为图表的一部分,我正在绘制一些重叠的形状,每个形状都具有 Opacity=0.5,如下所示:

<Grid>
<Rectangle Fill="Blue" Opacity="0.5" MouseEnter="Rectangle_MouseEnter" />
<Rectangle Fill="Red" Opacity="0.5" />
</Grid>


private void Rectangle_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Entered");
}

当用户使用鼠标进入形状时,应该显示一些附加信息,但事件处理程序永远不会被调用。

有没有办法为所有形状获取 MouseEnter 事件,而不仅仅是最上面的一个?

最佳答案

对于您的布局,只有最顶部的矩形会引发 MouseEnter 事件。它与第一个矩形完全重叠。

为 eventHandler 尝试此代码:

private void Rectangle_MouseEnter(object sender, MouseEventArgs e)
{
if (sender != grid.Children[0])
{
var rect = (grid.Children[0] as Rectangle);
if (rect != null) rect.RaiseEvent(e);
}
else
{
MessageBox.Show("Entered.");
}
}

为此,您需要将两个矩形都订阅到 Rectangle_MouseEnter。

关于c# - WPF:不透明度和 MouseEnter 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290855/

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