Windows.Phone.UI.Input在哪里?

时间:2014-08-11 02:46:32

标签: c# windows-phone-8.1

我试图用Windows Phone 8.1弄湿我的脚。我试图通过将其挂钩到自定义事件处理程序来处理HardwareButtons.BackPressed,以防止后退按钮暂停我的应用程序。我认为HardwareButtons是在Windows.Phone.UI.Input中定义的,但是当我尝试包含:

using Windows.Phone.UI.Input;

编译器抛出错误说:

The type or namespace name 'Phone' does not exist in the namespace 'Windows' (are you missing an assembly reference?)

以前的问题: PresentationFramework DLL could not be loaded

The type or namespace name 'Window' does not exist in the namespace 'System.Windows'

看来,presentationframework.dll可能驻留在程序集gac中,但我无法在我的机器中找到它。

有人可以告诉我dll在哪里,以便我可以将它添加到引用或Windows 8.1的工作方式不同吗?这是我第一次尝试为Windows Phone 8.1编写程序。我的系统是带有Windows 8.1的Surface Pro 2,我使用vs2013 premium。如果这是表面专业设计的行为,我需要指导如何自定义BackPressed处理程序,以便在按下它时,它不会踢我的应用程序。 谢谢,

3 个答案:

答案 0 :(得分:2)

Windows.Phone.UI.Input.HardwareButtons.BackPressed事件适用于Windows Phone Runtime App。我似乎在创建一个新的Windows Phone Silverlight应用程序。 Silverlight应用程序没有此事件。

对于Silverlight应用,PhoneApplicationPage有一个事件:

    // Summary:
    //     Occurs when the hardware Back button is pressed.
    public event EventHandler<CancelEventArgs> BackKeyPress;

请根据您的情况订阅和处理此活动。

答案 1 :(得分:2)

虽然不确定这是否在这里,但是,对于Windows UWP(10)应用程序,您需要将Windows Mobile Extensions引用添加到项目中。

答案 2 :(得分:0)

如果您需要处理后退按钮事件,您可以使用以下代码

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
   //Do your work here
   base.OnBackKeyPress(e);
}

我认为您不需要任何其他命名空间来执行此操作。 关于“防止在应用中暂停您的应用程序”,我不确定它是否符合商店认证要求。