我试图用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处理程序,以便在按下它时,它不会踢我的应用程序。 谢谢,
答案 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);
}
我认为您不需要任何其他命名空间来执行此操作。 关于“防止在应用中暂停您的应用程序”,我不确定它是否符合商店认证要求。