【问题标题】:Where is the MouseHover event for a TextBox?TextBox 的 MouseHover 事件在哪里?
【发布时间】:2015-01-15 15:13:52
【问题描述】:

我想在 TextBox_MouseHover 事件上调用我的方法。 但我找不到它。 是我遗漏了什么还是真的没有实现?

有一个叫 MouseEnter,但在 WindowsForms 中它和悬停事件有区别。

【问题讨论】:

标签: c# wpf


【解决方案1】:

WPF 本身没有MouseHover 事件。它最接近的是ToolTipOpening 事件,它与Windows Forms 的MouseHover 几乎同时触发。 ToolTipOpening 仅在 ToolTip 属性不是 null 时触发。要抑制工具提示,可以将ToolTipEventArgs.Handled 设置为true

WPF 的 MouseEnter 属性与 Windows 窗体中的相同。

【讨论】:

    【解决方案2】:

    我猜您正在寻找MouseOver 活动!尝试在 Application.Resources 中添加 Triggerproperty。

    <Application.Resources>
    <Style TargetType="TextBlock" x:Key="HoverUnderlineStyle">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="TextBlock.TextDecorations" Value="Underline" />
            </Trigger>
        </Style.Triggers>
    </Style>
    </Application.Resources>
    

    此后,您将能够在您的 TextBox 中使用该 Style 键值来进行更改!

    参考:Mouse hover event

    WPF TextBlock Style Underline on Mouse Hover

    【讨论】:

    • 我不想强调它,我想在不添加 Blend SDK 和使用 EventTrigger 并且不使用 stackoverflow.com/a/10986161/4008005 中提到的 MouseOverWrapper 的情况下调用我的方法
    • 下划线只是一个例子!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    相关资源
    最近更新 更多