在使用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;
}
}
}
}
答案 0 :(得分:-1)
您可以使用加速键处理此问题。如果您想要窃取某些代码,可以使用模板10中的KeyHelper。
然后,你可以使用模板10;在Visual Studio中转到Extension Manager并搜索&#34;模板10&#34;或通过Nuget添加Template 10库。
祝你好运!