如何检查鼠标是否在WPF中的按钮上?

时间:2012-10-16 06:48:05

标签: c# wpf click mouseover

  

可能重复:
  Time Delay on Trigger

我在WPF中使用几个按钮来显示各种文件夹中的图像。所有按钮的Click模式为Hover。对于某些按钮,在悬停后,它会路由到函数OnButtonClick。我想要做的是,只有在鼠标停留在X秒的按钮之后,才能完成函数OnButtonClick内的处理。

编辑: XAML代码:

    <Button Name="Dresses" Content="Dresses" Click="OnButtonClickDresses" Grid.Row="2" Height="34" Width="85" VerticalAlignment="Center" Grid.Column="5"  FontFamily="Tahoma" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" Cursor="Hand" ClickMode="Hover">
        <Button.Background>
            <LinearGradientBrush>
                <GradientStop Color="Yellow" Offset="0" />
                <GradientStop Color="Green" Offset="1" />
            </LinearGradientBrush>
        </Button.Background>
    </Button>

C#代码:

    private void OnButtonClickDresses(object sender, RoutedEventArgs e)
    {
            //Code for delay

            //Code which should run only if mouse on button after 5 seconds

    }

1 个答案:

答案 0 :(得分:3)

在MouseOver事件上使用触发器。鼠标悬停在您的控制之上后,启动计时器。如果在鼠标仍在控件上时经过,则模拟单击。

查看一个小示例here