问题标签 [win-universal-app]

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 投票
3 回答
4742 浏览

windows-runtime - 什么相当于“OnBackKeyPress”

在 Windows Phone 8.0 中,我使用它来处理后退按钮:

此事件在“页面”控件上不存在。如何在 WP 8.1 中处理单击后退按钮?

0 投票
1 回答
553 浏览

xaml - 如何将数据绑定与 XAML 应用程序、MVVM 和 JSON 示例数据一起使用?

通用应用程序模板具有 JSON 格式的示例数据和加载该 JSON 文件并提供模型的 SampleDataSource。这很好,但我使用的是 MVVM,我需要 PropertyChange 通知。
我的目标是这个

设计时间

  • 从 json 文件加载示例数据(我的 web 服务以 JSON 格式提供数据,所以这非常有用)
  • 在我的 UI 中显示示例数据

运行

  • 从我的实时网络服务加载 JSON(真的是 PBF)数据
  • 在我的 UI 中显示真实数据

我正在努力理解数据绑定是如何在设计时工作的。
我应该有代码来加载 JSON 并将其处理为模型吗?
我的 JSON 转换为我的 DataModel 而不是我的 ViewModel,SampleData 基础设施是否支持这一点?

0 投票
1 回答
4936 浏览

navigation - 通用应用程序中的 NavigationService

我创建了一个 Windows Phone 8.1 项目,在该项目中,我在不同的代码片段中使用了以下代码:

我尝试将此代码移植到通用应用程序,但我收到一条错误消息,提示无法解析 NavigationService。如何处理通用应用程序世界中的导航?

0 投票
2 回答
4126 浏览

windows - 将 windows phone 应用程序转换为通用应用程序

最近微软宣布能够在 Visual Studio 2013 中创建通用应用程序。有没有简单的方法可以将现有的 Windows Phone 8 应用程序转换为通用应用程序,或者我必须创建新项目并手动正确移动代码?

0 投票
1 回答
385 浏览

winrt-xaml - 为什么不调用我的 WPF 页面控件的构造函数?

我正在尝试使用 Visual Studio 2013 Express 中的通用应用程序为桌面/平板电脑和手机创建 Windows 应用商店应用程序。我在理解 WPF 中发生的事情时遇到了一些困难,因为我之前的 Windows 8 开发经验是使用 HTML/JS 应用程序。

我让VS创建一个新项目->Visual C#->Store Apps->Universal Apps->Blank App。我打开 MainPage.xaml.cs 并在构造函数的第一行放置一个断点,恰好是 this.InitializeComponent()。我按下 F5,应用程序编译,然后我切换到熟悉的全屏 Modern 应用程序视图,但没有一个断点被击中。

我在 MainPage.xaml 中添加了一个 TextBlock,以便其中有一些东西,但仍然没有命中断点。我错过了什么?下面是(一些)由 Visual Studio 生成的代码。我可能错过了关于 WPF 应用程序如何工作和结构化的一些非常基本的东西,但是我所有的 google-fu 都化为乌有。

MainPage.xaml:

MainPage.xaml.cs:

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 回答
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 投票
1 回答
285 浏览

c# - 验证错误 3117:我们无法解压 APPX 包

我试图将我的第一个 Windows Phone 8.1 应用程序提交到 Windows Phone 开发中心,它是在 Visual Studio 2013 Update 2 中构建的,它是一个 WP8.1 项目。我的应用程序没有什么复杂的,不依赖于数据库等,因为它主要是一个带有本机控件的 Web 应用程序。

我按照以下步骤构建我的 APPX 包:

  1. 在 App Manifest 中,我使用我创建的密钥文件对程序集进行了签名(即使我不签名,我仍然会遇到同样的问题)
  2. 然后我点击Project > Store > Associate App with Store并且运行良好。
  3. 我单击Build > Rebuild Solution只是为了确保
  4. 完成后,我点击Project > Store > Create App Packages
  5. 我选择了我大约一天前预订的应用名称
  6. 我设置了我的版本号(无论我使用什么版本号 - 无论如何都存在相同的问题)
  7. 我选择Neutral作为架构(也尝试使用 ARM,但没有运气)
  8. 选择复选框以包含公共符号文件(无论是否选择此选项我仍然会出错)
  9. 单击创建按钮,一切顺利,我的包已创建
  10. 然后我单击启动 Windows 应用程序认证工具包(3.3 版),我的应用程序通过了所有验证测试
  11. 我单击Project > Store > Upload App Packages,这会将我直接带到 Windows Phone 开发中心中的我的应用程序
  12. 我在上传并描述您的包网页时单击完成,然后单击添加新的
  13. 上传很完美,但是在上传 100% 之后,当它说正在为您的包裹加载信息时,它会爆炸并返回 3117 错误。

这是一个错误还是我在这里遗漏了什么?

0 投票
6 回答
4361 浏览

c# - 在 Windows 通用应用程序中检测当前设备

我正在尝试发布的 VS 2013 Update 2 并构建一个示例通用应用程序。

我创建了一个用户控件,并在两个 MainPages 上添加了 GridViews(在 Windows Phone 和 Windows 8 上)。

当应用程序在 Windows Phone 上运行时,我想通过代码更改一些内容。

有没有办法做类似的事情: