首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#和WPF中的键盘输入不工作

C#和WPF中的键盘输入不工作
EN

Stack Overflow用户
提问于 2015-09-17 14:25:56
回答 1查看 2.1K关注 0票数 0

我正在开发一个小游戏,其中有椭圆作为目标和文本块在这些椭圆显示一个字母表(每3秒改变)。

我希望实现这样一种功能:用户按下键盘上的字母表,如果这与显示在特定文本块上的字母表相匹配,将开始一个名为"t1_hit“的情节提要(动画)。

我试过以下几种方法,但都不起作用。

XAML(仅文本块部分):

代码语言:javascript
运行
复制
<TextBlock x:Name="txbTarget1" Height="26" Canvas.Left="571" TextWrapping="Wrap" Canvas.Top="92" Width="23" FontWeight="Bold" FontSize="16" Foreground="#FF6BE824" RenderTransformOrigin="0.5,0.5" KeyDown="txbTarget1_KeyDown" ><TextBlock.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </TextBlock.RenderTransform><Run Language="en-in"/></TextBlock>

C#:

代码语言:javascript
运行
复制
 string k = "";

        private void txbTarget1_KeyDown(object sender, KeyEventArgs e)
        {
            k = txbTarget1.Text;
            KeyConverter x = new KeyConverter();
            Key kinput = (Key)x.ConvertFromString(k);
            if (e.Key == kinput)
            {
                Storyboard h1 = this.FindResource("t1_Hit") as Storyboard;
                h1.Begin();
            }
        }

任何帮助都是非常感谢的。谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-09-17 14:32:23

TextBlock无法获得焦点,因此无法捕获键盘输入。

您必须使用元素,这是焦点。例如,窗口或用户控件:

代码语言:javascript
运行
复制
    public void Window_KeyDown(object sender, KeyEventArgs e)
    {
        k = txbTarget1.Text;
        KeyConverter x = new KeyConverter();
        Key kinput = (Key)x.ConvertFromString(k);
        if (e.Key == kinput)
        {
            Storyboard h1 = this.FindResource("t1_Hit") as Storyboard;
            h1.Begin();
        }
    }

来自MSDN:

UIElement.KeyDown 当焦点集中在此元素上时,当按下键时发生。 https://msdn.microsoft.com/en-us/library/system.windows.uielement.keydown%28v=vs.110%29.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32632835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档