Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 禁用enter从搜索符向应用程序触发_C#_Windows 8_Microsoft Metro_Winrt Xaml - Fatal编程技术网

C# 禁用enter从搜索符向应用程序触发

C# 禁用enter从搜索符向应用程序触发,c#,windows-8,microsoft-metro,winrt-xaml,C#,Windows 8,Microsoft Metro,Winrt Xaml,我正在使用一个应用程序,它有一个搜索页面,当我的应用程序打开时,通过搜索符激活查询时,该页面既是默认屏幕,也是登录页面。布局非常类似于Bing应用程序,我有一个带有按钮的文本框来启动搜索。我有一个按钮监听回车键按下,这是有效的,但是当页面通过搜索符激活时,当在搜索符文本框中按下回车键导致搜索触发两次时,回车键按下行为会触发到我的按钮。Bing应用程序在不进行双重搜索的情况下处理此行为,因此很可能可以完成此操作。我无法找到处理此问题的方法,即使确保焦点在我的按钮上也无法工作,因为按键侦听器似乎可以

我正在使用一个应用程序,它有一个搜索页面,当我的应用程序打开时,通过搜索符激活查询时,该页面既是默认屏幕,也是登录页面。布局非常类似于Bing应用程序,我有一个带有按钮的文本框来启动搜索。我有一个按钮监听回车键按下,这是有效的,但是当页面通过搜索符激活时,当在搜索符文本框中按下回车键导致搜索触发两次时,回车键按下行为会触发到我的按钮。Bing应用程序在不进行双重搜索的情况下处理此行为,因此很可能可以完成此操作。我无法找到处理此问题的方法,即使确保焦点在我的按钮上也无法工作,因为按键侦听器似乎可以在任何地方侦听所有按下的按键,包括搜索符。

只需将搜索按钮定义为默认按钮:

<Button IsDefault="true" ...>...</Button>
。。。

这样,根本不需要按键事件。

有什么原因不简单地将按钮设置为默认按钮?应该不需要监听按键事件。这听起来是个好主意,如何将按钮指定为默认值?不幸的是,Metro中没有此属性=>@PaulDeCarlo:真是个疏忽!