我有一个不透明度为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)));
}
答案 0 :(得分:1)
您可以将矩形的Visibility
设置为Collapsed
,这样就不会点击鼠标。您可以在Visible
方法中将其重新设置为buttonClicked
。
以下是我的尝试:
XAML:
<Grid>
<Grid>
<Label Content="Some text" />
<Button Content="A button" Click="ButtonBase_OnClick" />
</Grid>
<Rectangle x:Name="rectOverlay" Opacity="0" Fill="Green"/>
</Grid>
按钮点击代码:
rectOverlay.Visibility = Visibility.Visible;
rectOverlay.BeginAnimation(Rectangle.OpacityProperty, new DoubleAnimation(1, TimeSpan.FromSeconds(0.5)));