检查鼠标光标形状或状态(WPF)

最后编辑了

概述

在WPF应用程序中,光标通过该框架设置每个框架 system.windows.frameworkelement.cursor 属性,如果没有设置自定义光标或者实例,则产生null system.windows.Input.Cursoror. .

不幸的是,system.windows.Input.Cursor没有“getter”为了获得光标的形状 - 这是有道理的,因为您可以具有具有任意位图的游标。但是,解决方法是使用ToString()方法(请注意大写字母t):如果光标是光标类中定义的标准 - 中的一个(请参阅 system.windows.Input.Cursors. )ToString()表示将产生其中一个值“Name”表中的表中的柱子,例如:“Cross” or “Pen”.

因此,要使用如此的标准形状测试光标:

function main()
{
    // ...
    var obj = waitForObject("...");
    var cursor = obj.nativeObject.Cursor;
    if (isNull(cursor)) {
        test.fail("Cursor on WPF object is not a Cross cursor");
    } else {
        test.compare(cursor.ToString(), "Cross");
    }
}
test.js.