Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在代码中模拟一系列按钮点击,等待效果完成_C#_Wpf - Fatal编程技术网

C# 在代码中模拟一系列按钮点击,等待效果完成

C# 在代码中模拟一系列按钮点击,等待效果完成,c#,wpf,C#,Wpf,我有一系列按钮的效果,我想在代码中模拟点击。问题是,当我运行某个函数时,所有效果几乎同时触发。我想要一个按钮点击,然后等待效果完成,然后继续其他按钮。我试过使用Thread.sleep,但不起作用。有谁能给我一些关于如何实现这一点的建议吗?此外,是否可以模拟同时单击多个按钮 谢谢你的帮助 someFunction() { button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); //System.Threading.T

我有一系列按钮的效果,我想在代码中模拟点击。问题是,当我运行某个函数时,所有效果几乎同时触发。我想要一个按钮点击,然后等待效果完成,然后继续其他按钮。我试过使用Thread.sleep,但不起作用。有谁能给我一些关于如何实现这一点的建议吗?此外,是否可以模拟同时单击多个按钮

谢谢你的帮助

someFunction() {
    button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
    //System.Threading.Thread.Sleep(100); doesn't work wait for effect to finish

    button2.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
    //System.Threading.Thread.Sleep(100);  doesn't work

    button3.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
    //System.Threading.Thread.Sleep(100);  doesn't work

    button4.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
}

<Button Name="buttonRed" Background="Red" BorderBrush="Black" BorderThickness="1"
        Grid.Row="1" Grid.Column="0" Click="buttonRedClick">
    <Button.BitmapEffect>
        <BlurBitmapEffect x:Name="redBlur"  Radius="0" />
    </Button.BitmapEffect>
    <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation
                        Storyboard.TargetName="redBlur"
                        Storyboard.TargetProperty="Radius"
                        From="0" To="40" Duration="0:0:0.3"
                        AutoReverse="True" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Button.Triggers>
</Button>
看看Laurent Bugnon的作品

从上述条款:

请注意,也可以使用 动画对象来延迟动画,例如为了 层叠动画。另一种方法是使用事件,它 可以在XAML代码中设置,也可以在代码隐藏中设置。这一事件意味着 相应的方法必须存在于代码中,因此 它不适用于纯XAML应用程序

看看Laurent Bugnon的作品

从上述条款:

请注意,也可以使用 动画对象来延迟动画,例如为了 层叠动画。另一种方法是使用事件,它 可以在XAML代码中设置,也可以在代码隐藏中设置。这一事件意味着 相应的方法必须存在于代码中,因此 它不适用于纯XAML应用程序


Thread.sleep将无法工作,因为它定义了sys.val实现,因此您可以使用以下代码:

这里有一个错误:


相反,它应该是:

Thread.sleep将无法工作,因为它定义了sys.val实现,因此您可以使用以下代码:

这里有一个错误:


相反,它应该是:

你指的是什么样的“效果”?你指的是情节串连板动作还是点击按钮时运行的某种类型的c代码?你指的是什么类型的“效果”?你是指情节串连板动作,还是这是一种在点击按钮时运行的c代码?