C# 在WPF中,如何控制是否单击了另一个按钮

C# 在WPF中,如何控制是否单击了另一个按钮,c#,wpf,button,mouseevent,C#,Wpf,Button,Mouseevent,我想确定在WPF中单击了另一个按钮。 我编写了与下面相同的代码,当我单击该按钮时,动画工作,然后当我单击同一按钮时,动画工作与其他块一样。但我想控制是否单击了另一个按钮,而不是我想使用else块 int i = 0; private void btnDashboard_Click(object sender, RoutedEventArgs e) { // btnDashboard.Click += btnDashboard_Click; // Button btnSender

我想确定在WPF中单击了另一个按钮。 我编写了与下面相同的代码,当我单击该按钮时,动画工作,然后当我单击同一按钮时,动画工作与其他块一样。但我想控制是否单击了另一个按钮,而不是我想使用else块

int i = 0;
private void btnDashboard_Click(object sender, RoutedEventArgs e)
{
    // btnDashboard.Click += btnDashboard_Click;
    // Button btnSender = (Button)sender;
    if (i%2==0)
    {
        DoubleAnimation anim = new DoubleAnimation(250, 1470, new Duration(TimeSpan.FromMilliseconds(300)));
        btnDashboard.BeginAnimation(FrameworkElement.WidthProperty, anim);
        ((ApplicationShell)App.Current.MainWindow).ShowPages(new UCDashboardIndicatorView());
        i++;
    }
    else
    {
        DoubleAnimation anim = new DoubleAnimation(1470, 250, new Duration(TimeSpan.FromMilliseconds(300)));
        btnDashboard.BeginAnimation(FrameworkElement.WidthProperty, anim);
        base.OnApplyTemplate();
        i++;
    }

}

如何控制它?

只需将另一个
按钮作为订户添加到事件中即可

<Button Click="btnDashboard_Click" ... />
<Button Click="btnDashboard_Click" ... />
然后,可以将动画应用到所需的按钮:

btn.BeginAnimation(FrameworkElement.WidthProperty, anim);
注意:以上代码引用了btn
,它可以是单击的两个按钮之一


如果您需要更进一步,根据单击的特定按钮应用动画,您可以给每个按钮一个
名称
,并在If语句中测试
btn.Name

只需将另一个
按钮
作为订户添加到事件中即可

<Button Click="btnDashboard_Click" ... />
<Button Click="btnDashboard_Click" ... />
然后,可以将动画应用到所需的按钮:

btn.BeginAnimation(FrameworkElement.WidthProperty, anim);
注意:以上代码引用了btn,它可以是单击的两个按钮之一


如果您需要更进一步,根据单击的特定按钮应用动画,您可以给每个按钮一个
名称
,并在If语句中测试
btn.Name

只需将另一个
按钮
作为订户添加到事件中即可

<Button Click="btnDashboard_Click" ... />
<Button Click="btnDashboard_Click" ... />
然后,可以将动画应用到所需的按钮:

btn.BeginAnimation(FrameworkElement.WidthProperty, anim);
注意:以上代码引用了btn,它可以是单击的两个按钮之一


如果您需要更进一步,根据单击的特定按钮应用动画,您可以给每个按钮一个
名称
,并在If语句中测试
btn.Name

只需将另一个
按钮
作为订户添加到事件中即可

<Button Click="btnDashboard_Click" ... />
<Button Click="btnDashboard_Click" ... />
然后,可以将动画应用到所需的按钮:

btn.BeginAnimation(FrameworkElement.WidthProperty, anim);
注意:以上代码引用了btn,它可以是单击的两个按钮之一


如果需要更进一步,根据单击的特定按钮应用动画,则可以为每个按钮指定一个
名称
,并在If语句中测试
btn.Name
,如果要对两个按钮使用相同的单击处理程序,请尝试以下操作:

private void btnDashboard_Click(object sender, RoutedEventArgs e)
{
   Button btnSender = sender as Button;
   if(btnSender.Name == "btn1")
    {
      //Code for Button1
    }
    else
    {
      //Code for Button2
    }
}
还要确保每个按钮都在XAML中设置了Name属性,以便您可以在代码隐藏中访问它。 在XAML中:


如果要对两个按钮使用相同的单击处理程序,请尝试以下操作:

private void btnDashboard_Click(object sender, RoutedEventArgs e)
{
   Button btnSender = sender as Button;
   if(btnSender.Name == "btn1")
    {
      //Code for Button1
    }
    else
    {
      //Code for Button2
    }
}
还要确保每个按钮都在XAML中设置了Name属性,以便您可以在代码隐藏中访问它。 在XAML中:


如果要对两个按钮使用相同的单击处理程序,请尝试以下操作:

private void btnDashboard_Click(object sender, RoutedEventArgs e)
{
   Button btnSender = sender as Button;
   if(btnSender.Name == "btn1")
    {
      //Code for Button1
    }
    else
    {
      //Code for Button2
    }
}
还要确保每个按钮都在XAML中设置了Name属性,以便您可以在代码隐藏中访问它。 在XAML中:


如果要对两个按钮使用相同的单击处理程序,请尝试以下操作:

private void btnDashboard_Click(object sender, RoutedEventArgs e)
{
   Button btnSender = sender as Button;
   if(btnSender.Name == "btn1")
    {
      //Code for Button1
    }
    else
    {
      //Code for Button2
    }
}
还要确保每个按钮都在XAML中设置了Name属性,以便您可以在代码隐藏中访问它。 在XAML中:



不清楚是什么问题。只需为要控制的按钮编写另一个
单击
处理程序,或重新表述问题。在我的代码中,当我单击同一个按钮时,动画工作。但是我想控制是否点击了另一个按钮,然后动画应该改变。不清楚,问题出在哪里。只需为要控制的按钮编写另一个
单击
处理程序,或重新表述问题。在我的代码中,当我单击同一个按钮时,动画工作。但是我想控制是否点击了另一个按钮,然后动画应该改变。不清楚,问题出在哪里。只需为要控制的按钮编写另一个
单击
处理程序,或重新表述问题。在我的代码中,当我单击同一个按钮时,动画工作。但是我想控制是否点击了另一个按钮,然后动画应该改变。不清楚,问题出在哪里。只需为要控制的按钮编写另一个
单击
处理程序,或重新表述问题。在我的代码中,当我单击同一个按钮时,动画工作。但是我想控制是否单击了另一个按钮,然后动画应该改变