gpt4 book ai didi

c# - 如何在 C# 中处理 UWP KeyDown 与 Canvas 的交互

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:21 25 4
gpt4 key购买 nike

我一直在尝试将此工作作为游戏的一部分,以在使用 Canvas 时学习 UWP 环境。我已经阅读了很多关于让 KeyDown 工作的主题,我迷路了。

不用说我希望但它们似乎都不起作用,没有一个会导致事件处理程序被调用。

如有任何帮助,我们将不胜感激。

我的 XAML

    <Grid Background="Black">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Canvas Name="paintCanvas" Background="Black"
Grid.Column="1" HorizontalAlignment="Stretch" MaxWidth="642" MaxHeight="422"/>
</Grid>

我背后的简化代码:

namespace Game
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
paintCanvas.KeyDown += new KeyEventHandler(OnKeyDownHandler);
}


private void OnKeyDownHandler(object sender, KeyRoutedEventArgs e)
{
switch (e.Key)
{
case VirtualKey.Down:
// do something
break;
case VirtualKey.Up:
// do something
break;
case VirtualKey.Left:
// do something
break;
case VirtualKey.Right:
// do something
break;
}
}
}
}

最佳答案

您可以使用加速键来处理这个问题。如果您想要窃取某些代码,可以利用模板 10 中的 KeyHelper。

https://github.com/Windows-XAML/Template10/blob/master/Template10%20(Library)/Services/KeyboardService/KeyboardHelper.cs

然后,您可以只使用模板 10;在 Visual Studio 中转到扩展管理器并搜索“模板 10”或通过 Nuget 添加模板 10 库。

祝你好运!

关于c# - 如何在 C# 中处理 UWP KeyDown 与 Canvas 的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161219/

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