Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF-按下Ctrl键时的不同悬停光标_Wpf_Cursor_Mouseover - Fatal编程技术网

WPF-按下Ctrl键时的不同悬停光标

WPF-按下Ctrl键时的不同悬停光标,wpf,cursor,mouseover,Wpf,Cursor,Mouseover,当我将鼠标移到WPF树中的项目上时,我想要一个普通的光标,除非控制键是向下的,在这种情况下,我希望它是一个手动光标 您建议我如何执行此操作?您可以处理窗口的PreviewKeyDown和previewkeydup事件,并设置光标属性,例如: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); PreviewKeyDown +

当我将鼠标移到WPF树中的项目上时,我想要一个普通的光标,除非控制键是向下的,在这种情况下,我希望它是一个手动光标


您建议我如何执行此操作?

您可以处理窗口的
PreviewKeyDown
previewkeydup
事件,并设置
光标
属性,例如:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        PreviewKeyDown += (s, e) => 
        {
            if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
                this.Cursor = Cursors.Hand;
        };
        PreviewKeyUp += (s, e) => 
        {
            this.Cursor = null;
        };
 }

您可以处理窗口的
PreviewKeyDown
previewkeydup
事件,并设置
光标
属性,例如:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        PreviewKeyDown += (s, e) => 
        {
            if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
                this.Cursor = Cursors.Hand;
        };
        PreviewKeyUp += (s, e) => 
        {
            this.Cursor = null;
        };
 }

鬼鬼祟祟的解决方案,我喜欢!唉,我不能用它。手动光标将应用于整个树、所有树项目以及它们周围属于树但不属于项目的所有区域。此外,对于我的场景,我只希望某些树项具有指针。我试图将此处理程序添加到树项目中,但事件处理程序中的发送者是选定的项目,而不是鼠标下的项目。我没想到这会这么棘手。你想解释一下在你的案例中“树项目”是什么。请提供一个完整的,但最低限度的回购你的问题。偷偷摸摸的解决方案,我喜欢它!唉,我不能用它。手动光标将应用于整个树、所有树项目以及它们周围属于树但不属于项目的所有区域。此外,对于我的场景,我只希望某些树项具有指针。我试图将此处理程序添加到树项目中,但事件处理程序中的发送者是选定的项目,而不是鼠标下的项目。我没想到这会这么棘手。你想解释一下在你的案例中“树项目”是什么。请提供您发行的债券的完整但最低回购。