问题标签 [windows-phone-8.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5259 浏览

windows-phone-8.1 - 视窗电话 8.1 API

是否有 Windows Phone 8.1 API 可供参考?这是因为我想开发Windows Phone 8.1 的应用程序,但是我不知道在哪里参考API,因为Windows Phone 8.1 和8 有很大的不同,所以我不能参考Windows Phone 8 API。

0 投票
1 回答
1332 浏览

c# - 在 WP 8.1 中将约会保存到我的默认日历

我希望通过 wp8.1 的新日历 API,我现在能够用我自己的完全替换本机日历应用程序。

但是在 API 文档中搜索了几个小时后,我发现这仍然是不可能的。

这是我到目前为止得出的结论:

  1. 我可以创建AppointmentCalendar具有完全读写访问权限的自己。但此日历不会同步到我的其他设备。

  2. 我可以在所有其他日历中添加/删除/编辑约会,但只是在带有AppointmentManager. 这仍然需要一些时间来打开本机日历应用程序,并且用户必须手动按下保存按钮。

  3. 老办法还是有的。我需要深入了解 Outlook.com/Google Calendar/... API,以便直接从我自己的日历应用程序中保存约会。

有没有办法将我的默认日历 (Outlook.com) 从只读 (ReadWrite=Systemonly) 设置为 ReadandWrite(ReadWrite =full)?

0 投票
1 回答
2084 浏览

c# - Windows Phone 8.1 检查是否设置了密码,否则加载新页面

我的情况与这个人的问题非常相似,因为我有一个登录页面,它是我的 MainPage.xaml 文件,但是如果用户尚未设置密码,我想加载另一个名为 SetPassword.xaml 的页面。本质上,这是应用程序安装后第一次加载。

我已经花了几个小时尝试各种不同的解决方案(包括我链接到的那个),但我没有得到任何结果,而且似乎许多解决方案都是针对 WP7 或 WP8 的,新的解决方案没有类似的解决方案WP8.1。

这是基本检查,使用我正在做的 Windows.Storage 来查看是否设置了密码。

如果我将此添加到public MainPage()类中,我在调试消息中返回“未设置密码”的应用程序中没有问题,但是this.frame.Navigate(typeof(SetPassword))导航永远不会加载 SetPassword 视图。

我也尝试过这种方法,OnNavigatedTo结果完全相同。

在我的 App.xaml 文件中,我还尝试了许多不同的方法,结果相同。我可以得到调试消息,但不能得到我正在寻找的导航。我查看了在此处实现一个方法以及Application_Launching 此处实现条件导航,但显然我遗漏了一些东西。RootFrame.Navigating+= RootFrameOnNavigating;

希望你们更聪明的人可以帮助我让我的导航基于条件值工作?

0 投票
2 回答
6305 浏览

c# - 页面导航WP8.1

我为 WP8 制作了一个应用程序,我使用了类似的页面导航NavigationService.Navigate(new Uri(...))并且运行良好。
但是现在我正在尝试开发一个 WP8.1 应用程序并且无法弄清楚它是如何进行的。
我收到以下错误The name 'NavigationService' does not exist in the current context
我有两个页面,我想在它们之间导航。
我能怎么做?
发生了什么变化?

0 投票
1 回答
1216 浏览

windows-phone-8 - 将 windows phone 8.0 应用程序移植到 windows phone 8.1

在过去一年左右的时间里,我正在使用 Windows Phone 8.0 SDK 开发一个项目。现在 Windows Phone 8.1 SDK 已经发布,我正在尝试将我的应用程序移植到 8.1 SDK。

目前,我的目标是构建在 8.0 到 8.1 中的应用程序。它工作正常。但有些事情我很想知道更多关于命名空间变化的信息。

所以现在所有的 windows 8.1 和 windows phone 8.1 应用程序都属于 windows 商店应用程序,缺少某些命名空间。例如,System.IO.IsolatedStorage8.1 SDK 中不存在命名空间。但是存在Windows.Storage可以用于相同目的的名称空间。

这才是真正有趣的地方,

我有一个最初在 8.0 中构建的 10 个项目的解决方案,并针对 8.1。System.IO.IsolatedStorage命名空间仍然有效,Microsoft.Xna.Framework.Media命名空间仍然有效。但是当我在同一个解决方案中创建一个新项目时,我没有得到这些命名空间。

我明白原始项目是在 8.0 中构建的,这就是为什么我能够看到早期的命名空间。但是当我想在 8.1 SDK 中使用隔离存储数据时,问题就出现了。

我假设解决方案是将每个命名空间更改为 Windows.Storage 而不是 System.IO.IsolatedStorage。这将是一个乏味的过程,因为我们这里的应用程序是一个相当大的应用程序。

我在这里错过了什么吗?最佳做法是什么?

0 投票
2 回答
504 浏览

c# - MSGestureHold 被 Windows Phone 8.1 的 WebBrowser 控件忽略

我正在更新我的浏览器应用程序以支持 Windows Phone 8.1,并且我注意到MSGestureHold没有引发该事件。

要重现此错误,

  1. 下载MS 迷你浏览器示例
  2. 在 Visual Studio 2013 中将项目升级到 WP8.1 项目并添加IsScriptEnabled="True".
  3. 在 WP8.1 模拟器或设备上运行项目
  4. 导航到此触摸和鼠标示例
  5. 向下滚动到该Sample 1: handling the hold gesture部分并单击 IE11 users test

请注意,这MSGestureHold不起作用。

但是,该项目在测试时正在运行

  1. WP8 和 WP8.1 的默认 Windows Phone Internet Explorer 应用程序
  2. WP8 应用程序中的 WebBrowser 控件。

这是一个错误吗?

0 投票
0 回答
283 浏览

c# - 填充 ItemsSource 时的 ListBox 和异常

我已经为自己遇到的一个异常(其中两个)苦苦挣扎了几个小时。问题似乎与 WP8.1 的设备(我使用的是Lumia 820,调试/发布模式无关紧要)有关 - 在模拟器上工作正常(我没有进行太多测试)。它也很难跟踪和重现 - 所以我添加完整的代码以防有人想尝试

我有一个列表框,其中填充了一个按钮:

这行得通。然后当我选择项目时,我想更改我的 ObservableCollection:

问题来了 - 重现模式:

  • 单击第一个按钮以填充列表框
  • 向下滚动列表框
  • 例如,当 Listbox 向下移动时(如果没有发生问题,请尝试几次重新启动)点击 Item 9。

我得到以下异常:

第一

奇怪的是,过了一会儿(当你用鼠标单击其他地方时)然后尝试再次查看异常 - 它变为:

第二个

这个问题似乎与异步运行有关Task PopulateList()(这就是为什么我也标记了这个问题asynchronous) - 如果它在没有线路的情况下同步运行await Task.Delay(100);,它似乎工作正常。

有谁知道可能出了什么问题?

编辑- 更多信息

我无法使用任何 try-catch 块来捕获异常。

我也尝试通过Dispatcher- 填充 Collection,但没有成功。

我尝试先填充一个临时对象List<string>,然后在完成后将await PopulateList();项目复制到ObservableCollection- 这也没有帮助。

0 投票
1 回答
320 浏览

c# - 列表框 - 填充 ItemsSource 后无法选择第一个元素

我正在研究 WP8.1 并且我发现了我的列表框的意外行为 - 为了更容易重现我将代码放在这里。该问题同时出现在设备和模拟器上。

我有一个绑定到 ObservableCollection 的列表框,它在按钮单击时充满了项目:

我第一次填写列表时,一切都很好(图 1)。但是当我第二次按下按钮时,我可以看到元素不是来自第一个而是来自第二个(图 2)。好的 - 它在上面,但是我可以滚动到它,当我按住手指(鼠标)时,我可以滚动列表并看到它存在,但是当我停止滚动列表时隐藏(滚动到第二个元素)第一个元素。此外,当您选择任何项目时 - 当您按住手指时,列表似乎看起来不错(图 3),当您释放它时,它会再次隐藏第一个元素。当您向上/向下移动列表几次时,它会修复并正常工作。

重现问题的方法:

  • 单击第二个按钮一次 - 填写列表
  • 向下滚动列表,以便隐藏第一个元素(这很重要
  • 再次按下第二个按钮
  • 尝试向上滚动列表并查看第一个元素,松开手指

图1 在此处输入图像描述

图2 在此处输入图像描述

图3 在此处输入图像描述

问题似乎与异步任务有关(这就是为什么我也将这个问题标记为异步) - 没有该行await Task.Delay(100);,代码似乎可以正常工作。

有谁知道可能出了什么问题?

编辑- 其他一些尝试

我也尝试通过 运行填充过程Dispatcher,但没有成功 - 存在问题。

我还尝试填充一个临时List(不是 ObservableCollection),并在从返回后async Task填充 ObservableCollection - 问题仍然存在。

编辑 2 - 在 acync 任务中创建的 returnig 列表也没有多大帮助:

编辑 3 - 因为我检查了在 Windows Phone 8.1 Silverlight 下运行的相同代码,所以没有问题。

0 投票
2 回答
550 浏览

xaml - WXGA 分辨率的 UI 缩放

目前我在使用 Windows Phone 应用程序的 UI 时遇到了一些困难。我一直认为 UI 会由操作系统自动缩放以正确适应设备的分辨率。在 Visual Studio 或 Blend 的设计器中,对于我可以在预览中选择的所有不同设备类型/分辨率,我的应用程序的 UI 看起来几乎相同。当我在 WVGA、720p 模拟器和我的设备 (Lumia 920) 上调试应用程序时,它看起来也一样。但是当我在 WXGA 模拟器中启动应用程序时,UI 看起来没有被操作系统缩放。它只填满了屏幕的前半部分,而且一切都非常小。

现在我很困惑:为什么 UI 缩放适用于除 WXGA 之外的许多分辨率,为什么设计器中的预览与模拟器中的结果相比看起来完全不同。

在进行研究时,我发现这张图片可以解释 Windows Phone 的不同分辨率。如果我理解正确,那么 UI 在所有不同分辨率下应该看起来几乎相同,因为它应该被缩放。现在我需要知道为什么它没有在 WXGA 分辨率下缩放或者我做错了什么。

编辑:当我使用 Windows Phone 8.1 时,我无法编辑任何分辨率依赖项,WMAppManifest.xml正如我发现的其他一些帖子中提到的那样。

有没有可能,我的模拟器是问题而不是应用程序本身?

提前致谢。

0 投票
2 回答
1566 浏览

c# - CallMethodAction 在 Windows Phone 8.1 中不执行代码隐藏方法

我创建了一个简单的 XAML 页面:

以及此页面的 ViewModel:

在后面的页面代码中,我添加了以下方法:

当我在 TextBox 中输入数字 3 时,只有第二个 CallMethodAction 被执行。

后面代码中的 TextMethod 不执行。为什么?我在 Windows Phone 8 中从未遇到过这个问题。