防止通过键盘XAML突出显示/选择?

10 浏览
0 Comments

防止通过键盘XAML突出显示/选择?

我正在开发一个基于MonoGame的游戏,使用XAML作为界面。然而,我遇到了一个问题,就是确保空格键不会触发XAML界面(在游戏中有其他用途)。目前,我有一个带有项的GridView。当我按下空格键时,它会突出显示一个我不想要的元素。我已经使其不选择该项,但不幸的是无法阻止其突出显示(然后使用箭头键切换项)。

以下是执行此操作的一小段代码:

  
        
            
                
                    
                        
                    
                
            
        
        
            
                
            
        
    

有没有办法通过键盘来阻止项的突出显示?我想将其改为使用Shift键,但一步一步来。

非常感谢任何帮助!

编辑:我已经研究了一下。我已经使选择工作正常。然而,问题是当我按下空格键时,它会突出显示并“勾选”我选择的网格项,这不是我想要的。换句话说,我想要的效果是紫色突出显示选中项,但当我按下空格键(在我的游戏中是跳跃键)时,它会在项周围放置一个白色框,并在角落处放置一个“勾选”。我想避免这种情况。我提高了此问题的分数,真的很想知道如何解决这个问题。

0
0 Comments

问题的出现原因:在使用XAML时,可能会遇到需要禁用键盘交互的UI元素的情况。禁用UI元素可以防止用户通过键盘对其进行选择和操作。

解决方法:通过在后台代码中禁用UI元素来实现防止使用键盘进行高亮选择。在构造函数中将UI元素禁用,这样就可以得到一个有效的选择,但是该元素将不会对任何键盘输入作出响应。如果在Windows 8游戏中使用MonoGame(因为他们决定放弃XNA),这是通过XAML防止键盘与UI元素交互的好方法。仍然可以通过XNA部分获取输入并以这种方式操作界面。因此,通过禁用界面,可以完全控制游戏中的界面,而不会出现意外的XAML行为。然而,如果在触摸设备上进行操作,可能会有一些问题,但在触摸设备上,管理UI交互要容易得多。

0