奇怪的 WPF 拇指光标行为

发布于 2024-09-23 23:49:31 字数 201 浏览 3 评论 0原文

我目前在 WPF 拇指控件上遇到了光标的奇怪行为。我有一个在 Cursor 属性上具有多重绑定的拇指,它可以根据拇指的旋转变换角度来更改光标。当我将鼠标悬停在拇指上时,效果很好。但是,当我在拇指上按下鼠标(进行一些变换)时,光标会变回其原始状态(只要按下鼠标按钮)。 当鼠标在 UIElement 上按下时,是否有什么东西会覆盖当前光标? 有什么想法吗? 问候

约阿希姆

i´m currently facing a strange behavior with Cursors on WPF thumb controls. i have a thumb with a multibinding on the Cursor property that changes the cursor depending no the thumb´s rotationtransform angle. This works fine when i hover the mouse over the thumb. however, when i press the mouse (to do some transform) on the thumb, the cursor changes back to its original state (as long as the mouse button is down).
is there something that overrides the current cursor when the mouse is pressed on a UIElement?
any ideas?
regards

joachim

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

裸钻 2024-09-30 23:49:32

覆盖/强制游标通常是使用 CoerceValue 完成的。尝试这样的事情。

FrameworkElement.CursorProperty.OverrideMetadata(
    typeof(ThumbOrMyThumbDerivedClass), 
    new FrameworkPropertyMetadata(
        null, 
        new CoerceValueCallback(MyHelperClassOrMyThumbderivedClass.CoerceCursor)));


private static object CoerceCursor(DependencyObject o, object value)
{
    if (/* conditions when to use the custom cursor */)
    {
        return CustomCursor;
    }

    return value;
}

Overriding/forcing a cursor is often done using CoerceValue. Try something like this.

FrameworkElement.CursorProperty.OverrideMetadata(
    typeof(ThumbOrMyThumbDerivedClass), 
    new FrameworkPropertyMetadata(
        null, 
        new CoerceValueCallback(MyHelperClassOrMyThumbderivedClass.CoerceCursor)));


private static object CoerceCursor(DependencyObject o, object value)
{
    if (/* conditions when to use the custom cursor */)
    {
        return CustomCursor;
    }

    return value;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文