Tag: windows phone

在可移植库中使用CallerMemberName属性

我有一个可移植的库,其目标是使用.net 4.5框架的Windows Phone 7.1+和Windows Store应用程序(用于WinRT)。 我想在其中使用新的[CallerMemberName]属性。 但是,VS2012告诉我这个属性在我的便携式库中不可用(这似乎正常,因为它在WP7.1项目中不可用)。 然而,我发现我可以创建自己的属性,编译器将通过使用此片段将其理解为真实属性: namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerMemberNameAttribute : Attribute { } } 但是,只要尝试编译它,我就会收到错误The type ‘System.Runtime.CompilerServices.CallerMemberNameAttribute’ exists in both ‘Portable.dll’ and ‘mscorlib.dll’ 。 我理解这条消息,但我想知道是否有办法在我的便携式lib中使用[CallerMemberName] ? 我可能错过了什么。

HttpClient响应无法刷新

我正在使用HttpClient与Web服务进行通信以进行发送/接收(以JSON格式响应)。 但我在接收数据时遇到了一些问题。 我每5分钟调用一次Web服务,使用HttpClient在我的Windows手机上刷新内容,但响应反复出现。 为了获得新的响应,我需要退出应用程序并再次呼叫服务。 HttpClient需要一些刷新或清除数据的过程吗? 我是否需要实施其他一些approch来每次获得新的刷新结果? 请建议。 以下是我的实施 public async Task GetMyData(string urlToCall) { try { using (HttpClient httpClient = new HttpClient()) { httpClient.Timeout = TimeSpan.FromMilliseconds(double.Parse(30000)); HttpRequestMessage request = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, urlToCall); var response = await httpClient.SendAsync(request); if (response.StatusCode == HttpStatusCode.OK) { var responseString = await response.Content.ReadAsStringAsync(); return responseString; } else { return string.Empty; } […]

Windows Phone 8.1后台任务在完成之前关闭

我的后台任务需要很长时间才能完成,操作系统正在杀死它。 我正在尝试在线同步我的联系人,这是我正在做的事情: 从电话簿获取所有联系人(需要约1秒) 将它们上传到服务器(约2秒) 从服务器检索所有联系人(~2-3秒) 从ContactStore删除所有联系人(ContactStore.DeleteAsync有时需要1分钟才能完成) 创建一个ContactStore并导入所有联系人)(1000个联系人约1-2分钟) 我有~100个联系人,它运行良好,但我想测试~1000个联系人,并且每次都没有完成。 我正在使用MaintenanceTrigger,但我认为它对于后台任务来说仍然太多了,但我需要对此进行确认。 应该允许MaintenanceTrigger任务执行更多资源密集型任务,那么为什么操作系统会终止我的后台任务呢?

以编程方式更改appbar图标

在我的C#Windows Phone 8应用程序中,我有一个AppBar。 我在这个AppBar上有两个图标,一个新图标和一个编辑图标。 我想在按下时将编辑图标更改为后退图标,然后再次按下时再返回编辑图标。 我试过这段代码,但是我得到一个nullReferenceException: public static Uri addIcon = new Uri(“/Assets/AppBar/new.png”, UriKind.Relative); public static Uri backIcon = new Uri(“/Assets/AppBar/back.png”, UriKind.Relative); //Edit the projects if (editMode.Equals(false)) { //EditMode is off, enable edit mode and modify the editprojectMenuButton editMode = true; editprojectMenuButton.IconUri = backIcon; editprojectMenuButton.Text = “finish”; } else { //EditMode is on, disable edit […]

如何在Windows Phone 8.1 / Windows 10上创建自定义VirtualizingPanel?

我正在尝试在Windows 10和Windows Phone 8.1 (应用程序链接)中执行此操作 : 我有一个名为FluidPanel的自定义类,它扩展了Panel并覆盖了MeasureOverride和ArrangeOverride方法。 目标是创建Google Keep外观 。 好的,它工作正常。 但是,因为我使用基本Panel作为ItemsPanelTemplate ,所以Reorder项不起作用。 此外,转换不起作用,也不会虚拟化。 所以,我想知道如何创建一个自定义面板,重新排序项目和虚拟化就像GridView的ItemsWrapGrid 。 我试图扩展VirtualizingPanel类,但它一直向我显示这个看起来像一个bug的错误: ‘VirtualizingPanel’不包含带0参数的构造函数 希望有人可以给出一些指示。

有没有一种简单的方法从Windows Phone中的URI获取查询字符串参数?

我目前正在使用自定义URI方案来validation使用OAuth的用户。 为此,我需要从查询字符串中获取某些参数的值。 有没有一种简单的方法来获取这些信息? 或者是我唯一选择使用REGEX或其他字符串操作? 我以前发现了对ParseQueryString之类的引用,但这些引用包含在Windows Phone上不可用的库中。

当我调用NavigateService.Navigate()时,Windows Phone应用程序调用MapUri()两次

我最近添加了一个自定义UriMapper,用于在从IE打开文件时将文件保存到我的应用程序隔离存储中。 这个代码看起来像这样: class AssociationUriMapper : UriMapperBase { public override Uri MapUri(Uri uri) { var tempUri = uri.ToString(); if (tempUri.Contains(“/FileTypeAssociation”)) { int fileIdIndex = tempUri.IndexOf(“fileToken=”) + 10; string fileId = tempUri.Substring(fileIdIndex); SaveFileToIsolatedStorage(fileId); return new Uri(“/MainPage.xaml”, UriKind.Relative); } return uri; } } 在InitializePhoneApplication()中我做了一个 RootFrame.UriMapper = new AssociationUriMapper(); 当然,我已经将扩展标记添加到WMAppManifest.xml 这一切都很好……但我发现了一个奇怪的行为。 每次从IE打开文件时,我都会得到两份文件。 当我在被覆盖的MapUri中放置一个断点时,每次应用程序从IE自动启动时它会被击中两次。 当我开始进一步调查时,我注意到只要我调用NavigateService.Navigate()就会发生这种情况。 但是当我调用NavigateService.GoBack时 。 有谁知道为什么会这样? 为什么在调用Navigate()时MapUri()调用了两次? 是否在创建页面的新实例时发生了什么? […]

将Async CTP与可移植类库一起使用

我正在尝试将项目重写为可移植类库。 但问题是它使用的是Async CTP,我无法将其编译为WP和Windows Store App的库。 如果我不包含引用AsyncCtpLibrary.dll,编译器会说 名称空间’System.Threading’中不存在类型或命名空间名称’Tasks’(您是否缺少程序集引用?) 如果我包含它,编译器仍会说相同的错误并添加警告: 无法解析主要引用“AsyncCtpLibrary”,因为它对框架程序集“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”具有间接依赖性,这在当前目标框架中无法解析。 ” .NETPortable,版本= V4.0,外形= Profile104″ 。 要解决此问题,请删除引用“AsyncCtpLibrary”或将应用程序重新定位到包含“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”的框架版本。 我该怎么忍受?

Windows Phone:在OnNavigatedTo中调用Async方法

在我的WP8应用程序中,我想在页面导航到时调用Async方法。 我想用async关键字标记OnNavigatedTo方法是这样的: async protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); await myAsyncMethod(); } 是否有更好的方法来实现这一点,使用异步标记OnNavigatedTo是否存在问题?

在Windows Phone 8.1中加载,显示,转换来自字节数组(数据库)的图像

完整的问题是如何在Windows Phone 8.1中显示从数据库加载的图像。 图像数据作为字节数组加载(检查 – 加载正常)。 通过指定urisource显示图像工作正常。 Image img = new Image(); img.Source = new BitmapImage() {UriSource = new Uri(“http://www.example.com/1.jpg”) }; rootgrid.Children.Add(img); 但是当字节数组(图像)转换为BitmapImage时 – 没有显示任何内容。 到目前为止我发现的唯一例外免费示例是: public BitmapImage ConvertToBitmapImage(byte[] image) { InMemoryRandomAccessStream ras = new InMemoryRandomAccessStream(); var bitmapImage = new BitmapImage(); var memoryStream = new MemoryStream(image); memoryStream.CopyToAsync(ras.AsStreamForWrite()); bitmapImage.SetSourceAsync(ras); return bitmapImage; } Image img = new […]