【问题标题】:Where is Windows.Phone.UI.Input located?Windows.Phone.UI.Input 位于哪里?
【发布时间】:2014-08-11 02:46:32
【问题描述】:

我正在尝试使用 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 高级版。如果这是 Surface Pro 的设计行为,我需要指导如何自定义 BackPressed 处理程序,以便在按下它时不会将我踢出我的应用程序。 谢谢,

【问题讨论】:

    标签: c# windows-phone-8.1


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      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;
      

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

      【讨论】:

      • 感谢您的提示。但是我很确定我使用了 winRT(我从已安装的模板>Visual C#>StoreApps>Universal Apps>Blank App 而不是从 Silverlight 创建了一个新项目。我如何验证 Silverlight 是否确实没有使用?我很新到VS2013,但我对编程并不陌生,我只是想仔细检查一下。
      • @user1205746 如果你创建一个通用应用程序,你应该注意只有放在名为“App*.WindowsPhone”的项目中的文件才能使用这个HardwareButtons.BackPressed API。
      • 是的……就是这样!我需要把它放在与电话相关的代码中,而不是两者都。
      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-09-08
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-25
        相关资源
        最近更新 更多