gpt4 book ai didi

c# - 停止覆盖矩形接收 wpf 点击事件

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

我有一个不透明度为 0 的矩形,它覆盖了一个包含各种控件的网格。这个想法是这个矩形会在某个时候淡入以隐藏背景控件。目前,矩形覆盖了控件,因此您不能单击控件,因为单击会被矩形吸收。理想情况下,最好采用某种方法在动画开始之前完全禁用矩形的任何效果。

这是我的代码的缩减版本:

XAML:

<Grid>
<Grid>
<Label Content="Some text" />
<Button Content="A button" Click="buttonClicked" />
</Grid>

<Rectangle x:Name="rectOverlay" Opacity="0" />
</Grid>

CS:

using System.Windows.Media.Animation;

private void buttonClicked(object sender, RoutedEventArgs e)
{
rectOverlay.BeginAnimation(Rectangle.OpacityProperty, new DoubleAnimation(1, TimeSpan.FromSeconds(0.5)));
}

最佳答案

您可以将矩形的 Visibility 设置为 Collapsed,这样它就不会影响鼠标点击。您可以在 buttonClicked 方法中将其设置回 Visible

这是我尝试过的:

XAML:

<Grid>
<Grid>
<Label Content="Some text" />
<Button Content="A button" Click="ButtonBase_OnClick" />
</Grid>

<Rectangle x:Name="rectOverlay" Opacity="0" Fill="Green"/>
</Grid>

buttonClicked代码:

rectOverlay.Visibility = Visibility.Visible;
rectOverlay.BeginAnimation(Rectangle.OpacityProperty, new DoubleAnimation(1, TimeSpan.FromSeconds(0.5)));

关于c# - 停止覆盖矩形接收 wpf 点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098465/

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