0

可能重复:
触发时间延迟

我在 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

    }
4

1 回答 1

3

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

在这里看一个小例子

于 2012-10-16T06:50:04.317 回答