Tag: windows store apps

Windows 8商店应用程序(Metro)运行在Windows 7还是XP?

我想知道使用Visual Studio 11 Developer Preview和.Net FrameWork 4.5开发的Metro应用程序是否可以在Windows 7或XP中运行。 不是正常的Windows窗体或WPF,我想知道所有新的地铁应用程序。 在Windows XP或Windows 7中运行Metro应用程序需要什么新东西

'await'操作符只能在asynchronouslambdaexpression式中使用

我有ac#的Windowsapp store应用程序。 我试图启动一个MessageDialog时,另一个MessageDialog中的命令button之一被点击。 关键是要警告用户他们的内容是未保存的,如果他们点击取消,则会提示他们使用单独的保存对话框进行保存。 这是我的“showCloseDialog”函数: private async Task showCloseDialog() { if (b_editedSinceSave) { var messageDialog = new MessageDialog("Unsaved work detected. Close anyway?", "Confirmation Message"); messageDialog.Commands.Add(new UICommand("Yes", (command) => { // close document editor.Document.SetText(TextSetOptions.None, ""); })); messageDialog.Commands.Add(new UICommand("No", (command) => { // save document await showSaveDialog(); })); messageDialog.DefaultCommandIndex = 1; await messageDialog.ShowAsync(); } } 在VS我得到一个编译器错误: 'await'操作符只能在asynchronouslambdaexpression式中使用。 […]

该应用程序称为一个接口,编组为一个不同的线程 – Windowsapp store应用程序

所以,首先我已经阅读了关于这个特定问题的大量的线索,我仍然不知道如何解决这个问题。 基本上,我正在尝试与websocket进行通信,并将收到的消息存储在绑定到listview的可观察集合中。 我知道我正在从套接字得到一个响应正确,但是当它试图将其添加到可观察集合,它给了我以下错误: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)) 我已经阅读了一些关于“派遣”的信息以及其他的一些信息,但是我很困惑! 这是我的代码: public ObservableCollection<string> messageList { get; set; } private void MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args) { string read = ""; try { using (DataReader reader = args.GetDataReader()) { reader.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8; read = reader.ReadString(reader.UnconsumedBufferLength); } […]

我必须做些什么来使我的方法等待?

我怎样才能推出我自己的asynchronous等待方法? 我发现在某些情况下编写asynchronous方法很容易: private async Task TestGeo() { Geolocator geo = new Geolocator(); Geoposition pos = await geo.GetGeopositionAsync(); double dLat = pos.Coordinate.Latitude; double dLong = pos.Coordinate.Latitude; } …但是,不幸的是,也可以看到,不是任何方法都可以做到asynchronous无聊, 机智:这不起作用: private async Task TestAsyncAwait() { int i = await TaSLs_Classes.TASLsUtils.GetZoomSettingForDistance(5); } 它阻止了我的编译错误,“不能等待int”; 在devise时间的一个提示同样告诉我,“types”int“不等于” 我也试过这个结果: Task<int> i = await TaSLs_Classes.TASLsUtils.GetZoomSettingForDistance(5); 我必须做些什么来使我的方法等待? UPDATE 作为中后卫和S. Cleary表示(与曾经在KNBR上的猫有任何关系?),这是有效的: int i = await […]

List <T> .ForEach()方法不见了吗?

我最近开始涉足Windows 8地铁,发现我的一个老朋友似乎已经失踪了。 我倾向于使用.ForEach()方法,而不是使用传统的foreach()构造,而且我很快意识到这种方法不可用。 例如,这个代码不会在metro应用程序下编译: var list = new List<string>(); list.ForEach(System.Diagnostics.Debug.WriteLine); 我搜查了一下,看看能否find这方面的讨论,但是没有办法。 我只是呆滞,还是真的走了?

等待一个无效的asynchronous方法

我如何等待一个void async方法来完成它的工作? 例如,我有一个像这样的function: async void LoadBlahBlah() { await blah(); … } 现在我想确保一切都已经加载之前,继续在别的地方。

从HttpResponseMessage获取内容/消息

我试图得到HttpResponseMessage的内容。 它应该是: {"message":"Action '' does not exist!","success":false} ,但是我不知道如何从HttpResponseMessage中获取它。 HttpClient httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.GetAsync("http://****?action="); txtBlock.Text = Convert.ToString(response); //wrong! 在这种情况下,txtBlock将有价值: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Vary: Accept-Encoding Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Date: Wed, 10 Apr 2013 20:46:37 GMT Server: Apache/2.2.16 Server: (Debian) X-Powered-By: PHP/5.3.3-7+squeeze14 Content-Length: 55 […]

.NET中的Windows应用程序中的Thread.Sleepreplace

Thread.Sleep似乎不支持.NET应用程序的Windowsapp store。 例如,这个 System.Threading.Thread.Sleep(1000); 将针对任何.NET Framework(2.0,3.5,4.0,4.5)进行编译,但在针对Windowsapp store的.NET(或者以兼容4.5和商店的可移植类库)为目标时,则不会进行编译。 System.Threading.Thread仍然存在,它只是没有睡眠的方法。 我需要在我的应用程序中延迟几秒钟,是否有合适的replace? 编辑为什么需要延迟:我的应用程序是一个游戏,延迟是看起来像电脑对手是“思考”他的下一步行动。 该方法已被asynchronous调用(主线程不被阻塞),我只是想减慢响应时间。

我在哪里标记一个lambdaexpression式asynchronous?

我有这个代码: private async void ContextMenuForGroupRightTapped(object sender, RightTappedRoutedEventArgs args) { CheckBox ckbx = null; if (sender is CheckBox) { ckbx = sender as CheckBox; } if (null == ckbx) { return; } string groupName = ckbx.Content.ToString(); var contextMenu = new PopupMenu(); // Add a command to edit the current Group contextMenu.Commands.Add(new UICommand("Edit this Group", (contextMenuCmd) => […]

Signtool错误:找不到符合Windowsapp store所有给定条件的证书?

所以,我试图用一个pfx文件签署一个Windows 8的appx包。 我正在使用如下命令: signtool.exe sign /fd sha256 /f "key.pfx" "app.appx" 从这里,我得到: SignTool错误:未find符合所有给定条件的证书。 我没有遇到什么“标准”? 这仅用于testing,因此这些是自签名证书。 我已经尝试导入密钥然后对其进行签名,但总是导致相同的错误。 我该如何解决?