【问题标题】:How to check if mouse is over a button in WPF? [duplicate]如何检查鼠标是否在WPF中的按钮上? [复制]
【发布时间】:2012-10-06 05:09:05
【问题描述】:

可能重复:
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

    }

【问题讨论】:

标签: c# wpf click mouseover


【解决方案1】:

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

看一个小例子here

【讨论】:

  • 我已经添加了我的 XML 和 C# 代码。您能否为我想要实现的目标提供一个最低限度的代码示例?我无法从您提供的链接中获取任何内容。
猜你喜欢
  • 1970-01-01
  • 2019-05-05
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多