gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:08:18 26 4
gpt4 key购买 nike

我正在开发一款基于 MonoGame 的游戏,该游戏使用 XAML 作为界面。但是,我在确保空格键不会触发 XAML 界面时遇到问题(它用于游戏中的其他内容)。现在我有一个 gridview,里面有项目。当我点击空格时,它突出显示了一个我不希望它做的元素。我已经得到它实际上并没有选择该项目,但不幸的是无法阻止它突出显示它(然后使用箭头键切换项目)。

这里有一些代码可以做到这一点:

  <GridView HorizontalAlignment="Left" Name="Powers" Margin="10,10,0,0" VerticalAlignment="Top" Width="229" Height="163" SelectionMode="None">
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Foreground="white" Width="50"></TextBlock>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</GridView.GroupStyle>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid MaximumRowsOrColumns="4" Orientation="Horizontal" ></VariableSizedWrapGrid>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>

有什么办法可以防止通过键盘突出显示项目?我希望能够将其重新连接到 shift 键,但一次一步。

非常感谢任何帮助!

编辑:我已经查过这个了。我已经选择按照我想要的方式工作。但是,问题是当我点击空格时,它会突出显示并“检查”我选择的网格项目,这不是我想要的。换句话说,我把它突出显示为紫色,但当我按下空格键(在我的游戏中跳跃)时,它会在项目周围放置一个白色框并在角落放置一个“检查”。我想避免这种情况。我把这个问题提出来以获得更高的分数。真的很想知道如何解决这个问题。

最佳答案

好的,这里的技巧实际上是禁用 UI 元素,即。后端的gridview。确保选择了该元素(我认为将默认值设置为什么并不重要)。在您的构造函数中,禁用该元素。结果,您现在有了一个有效的选择,如果需要可以四处移动。但是,它不会响应任何输入,因为它被禁用了。如果您将 MonoGame 用于 Windows 8 游戏(因为他们出于某种原因决定放弃 XNA),那么这是防止通过 XAML 与 UI 元素进行任何键盘交互的好方法。您仍然可以通过 XNA 端获取输入并以这种方式操作您的界面。因此,使用禁用的界面,您现在可以完全控制游戏的 UI,而不会出现任何意外的 XAML 行为。但是,如果您是为触摸设备执行此操作,它可能会或可能不会成为问题,但无论如何在触摸设备上管理 UI 交互要容易得多。

关于c# - 防止通过键盘 XAML 突出显示/选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13855427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com