Windows.Phone.UI.Input位于哪里?

本文关键字:于哪里 Input Phone UI Windows | 更新日期: 2023-09-27 18:17:18

我正在尝试使用Windows Phone 8.1。我试图处理硬件按钮。BackPressed通过挂钩它到一个自定义的事件处理程序,以防止后退按钮暂停我的应用程序。我认为硬件按钮是定义在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

类型或命名空间名称''System.Windows'

似乎presentationframework.dll可能存在于程序集gac中,但我无法在我的机器中找到它。

有人能告诉我dll在哪里,这样我就可以把它添加到引用或windows 8.1的工作方式不同?这是我第一次尝试为windows phone 8.1编写程序。我的系统是安装windows 8.1的Surface Pro 2,我使用的是vs2013 premium。如果这是surface pro设计的行为,我需要指导如何定制BackPressed处理程序,这样当它被按下时,它就不会把我踢出我的应用程序。谢谢你,

Windows.Phone.UI.Input位于哪里?

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

Windows.Phone.UI.Input.HardwareButtons.BackPressed事件是为Windows Phone运行时应用程序。我似乎你创建了一个新的Windows Phone Silverlight应用程序。Silverlight应用程序没有这个事件。

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

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

请订阅并根据您的情况处理此事件。

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

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

我认为您不需要任何额外的名称空间来完成此操作。至于"防止你的应用程序在背压期间暂停",我不确定它是否符合商店认证要求。