Tag: microsoft metro

如何在Windows8应用程序中向HttpWebRequest添加标头?

我正在开发C#\ XAML metro-ui应用程序。 我想调用一些服务并为此使用HttpWebRequest 。 HttpWebRequest先前实现包含ContentLength和UserAgent属性。 但WinRT的实现没有它。 我试图使用这篇文章中描述的方法。 它适用于UserAgent但不适用于ContentLength 。 我试过设置Headers request.Headers[“Content-length”] = Length; request.Headers[“User-agent”] = UserAgent; 但收到exception“必须使用适当的属性或方法修改’Content-length’标头。” Hot是否可以在WinRT中实现HttpWebRequest中的Headers设置?

无法使用c#导航到Windows Metro App上的页面

当我的UserLogin页面加载时,我想检查用户数据库,如果它不存在,或者无法读取,我想将它指向NewUser页面。 protected override void OnNavigatedTo(NavigationEventArgs e) { CheckForUser(); if (UserExists == false) this.Frame.Navigate(typeof(NewUser)); } 问题是它永远不会导航到NewUser ,即使我注释掉if条件。

在InstalledLocation StorageFolder中尝试CreateFileAsync时拒绝访问?

我在InstalledLocation StorageFolder中尝试CreateFileAsync时拒绝Access StorageFolder storageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFile file = await storageFolder.CreateFileAsync(“fileNmae”, Windows.Storage.CreationCollisionOption.ReplaceExisting); 我也试过了 var storageFolder = await StorageFolder.GetFolderFromPathAsync(“ms-appx:///”); 得到“价值不在预期的范围内” 我可以在Windows.Storage.ApplicationData.Current.LocalFolder CreateFileAsync ,然后将CopyAsync到InstalledLocation StorageFolder? StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile file = await storageFolder.CreateFileAsync(“fileName”, Windows.Storage.CreationCollisionOption.ReplaceExisting); StorageFolder installedLocationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; var result = await file.CopyAsync(installedLocationFolder, “fileName”, Windows.Storage.NameCollisionOption.ReplaceExisting); 但InstalledLocation StorageFolder中的CreateFileAsync拒绝访问? 是因为安全原因还是我在这里编码错了?

unit testing资源管理器不显示城域应用程序的异步unit testing

不确定这是一个已知问题。 我正在使用VS2012 RC(Ultimate)和Win8 Release Preview。 我创建了一个unit testing库(metro style app),并编写了一个unit testing,其中包括async / await关键字。 但是,当我编译unit testing项目时,unit testing资源管理器不会显示我写的测试。 如果我排除了async / await关键字,那么unit testing资源管理器会出现在我刚写的测试中。 有没有人以前遇到过这个,还是仅仅是我? [TestClass] public class UnitTest1 { [TestMethod] public async void SomeAsyncTest() { var result = await StorageFile.GetFileFromPathAsync(“some file path”); } }

将资源字符串设置为XAML

我知道如何从资源中设置字符串 其中Text1.Text为“Hello” 但我想这样做 其中GreetingText是“你好” 这样我也可以从代码中获得相同的字符串 var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); var string = loader.GetString(“GreetingText”);

使用PostAsync,HttpClient和Json从C#Metro UI客户端调用MVC4 WebAPI方法

我已经使用MVC4中的新WebAPIfunction创建了一个方法,并让它在Azure上运行。 该方法要求您发布一个包含Username和Password属性的简单LoginModel对象。 是的,我计划在经过这个减速带后再进一步确保这个:-)然后该方法以Json格式响应一个对象: 我可以使用Fiddler成功调用此方法,前提是我在请求标头中包含“Content-Type:application / json”。 它返回200,我可以进入Fiddler检查器并查看Json响应对象就好了: 然而,我在使用C#/ XAML从Windows8中的MetroUI应用程序调用此相同方法时遇到问题。 我开始在C#中使用HttpClient和新的Async概念,无论我如何格式化我的Post调用(即使明确地调用我希望Content-Type为“application / json”)Fiddler返回500错误并声明该尝试使用的是Content-Type:“text / html”。 我相信这是问题的根源: 我已经尝试了所有可以想到的东西,以便发布到这个方法并获取Json对象,这是我最近的尝试: HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”)); HttpContent content = new StringContent(@”{ “”Username””: “”” + Username.Text + @”, “”Password””: “”” + Password.Text + @”””}”); client.PostAsync(“http://myapi.com/authentication”, content).ContinueWith(result => { var response = result.Result; response.EnsureSuccessStatusCode(); }); 这导致500错误,Content-Type设置为“text / html” 这是另一次失败的尝试: HttpClient […]

WCF服务参考不在其他PC上工作

我有一个Windows应用程序 – Metro应用程序连接在同一台PC上运行的Net TCP WCF服务(托管在控制台应用程序中),但是在Windows 8的桌面模式下。我在metro应用程序中添加了WCF服务的引用,一切正常。 我打包我的商店/地铁应用程序和WCF服务,并尝试在没有安装Visual Studio的另一台PC上,所以我不重新编译代码,我只是安装metro应用程序包并运行WCF服务的可执行文件。 WCF服务启动正常但是当我启动我的地铁应用程序时它给我错误(见下图) 似乎由于某种原因,在其他PC上安装的metro应用程序无法找到服务引用。 我在google搜索后尝试了很多东西,但没有任何作用。 任何想法/提示/建议将不胜感激。

在.NET Windowsapp store应用中替换CultureInfo.GetCultures

.NET API for Windows Store应用程序中不存在CultureInfo.GetCultures。 我们怎样才能阅读所有可用的文化呢? 我知道语言列表和主要的应用程序语言。 我可以通过这种方式阅读应用程序可用的所有语言。 但我需要阅读系统上可用的所有文化(语言)。 以前使用CultureInfo.GetCultures很容易。

以适当的大小更新实时图块?

在Windows 8中更新实时切片时,我不知道如何同时更新“大”和“小”大小的切片。 我希望将我的应用程序固定在小模式下的用户知道我的程序中有多少可用于查看的项目,并且我的应用程序以大模式固定的用户同时拥有该项目以及一些示例项目标题。 但是,无论我做什么,似乎只有一个磁贴更新到达。 如何根据我的瓷砖尺寸提供瓷砖更新,以便那些拥有小型或大型瓷砖的人不会失望?

无法将类型’System.EventHandler’隐式转换为’System.EventHandler ‘以完成情节提要

我已经阅读了一些关于此的线索,但我仍然不知道如何在我的情况下解决它。 我来自Java,而且大多是C#的新手 我想在动画结束时附加监听器: myStoryBoard.Completed += new EventHandler(onMyStoryBoardCompleted); 和: private void onMyStoryBoardCompleted(object sender, EventArgs e) { } 我在标题中得到错误。 我试过了: myStoryBoard.Completed += new EventHandler(onMyStoryBoardCompleted); 但后来我得到: no overload for ‘onMyStoryBoardCompleted’ matches delegate ‘System.EventHandler’ 所以似乎签名与EventHandler 不兼容,我找不到如何使它兼容,我也不知道这种方法是否正确。 我读 了解C#中的事件和事件处理程序 从System.EventHandler到System.EventHandler 的C#动态模板隐式转换错误 在Windows 8应用程序中为DispatcherTimer的Tick事件定义事件处理程序 但仍然没有找到这种情况的解决方案。 提前致谢。