Tag: windows phone 8

Windows MVVM中的通用应用程序

我刚刚开始在通用应用程序中开发。 我在Windows 8商店应用程序中开发了应用程序,还开发了Windows Phone 8和Windows Phone 8.1(SilverLight)应用程序。 问题与Windows中的通用应用程序和在App中创建的单个UI有关。 共享文件夹。 我是MVVM的新手。 我以正常方式开发了Windows phone 8和WP8.1 app。 但不是MVVM。 我搜索了很多,但没有得到任何可以更好地理解MVVM的例子。 我知道什么是MVVM。 它类似于Asp.net的MVC。 MVVM是 型号 :描述数据 View-Model :简单来说就是Model和View之间的桥梁。 视图 :简单的xaml页面或用户界面。 哪种方式更好或最好在Windows Phone 8 MVVM或Normal方式下执行代码? 正常方式意味着不使用MVVM。 参考: 使用Model-View-ViewModel模式分离UI和应用程序逻辑

Windows Phone 8异步等待使用

我刚刚开始学习WP编程,所以这可能是一个愚蠢的问题…… 我开发的应用程序从一个Web服务获取数据几个不同的方法。 所以我决定将所有这些Web服务提取代码放到一个类中: class WebApiWorker { public async Task<List> GetGeocodeAsync(String address) { String url = “http://api.com&search=” + HttpUtility.UrlEncode(address) + “&format=json”; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.Method = “GET”; HttpWebResponse response = (HttpWebResponse) await httpWebRequest.GetResponseAsync(); Stream responseStream = response.GetResponseStream(); string data; using (var reader = new System.IO.StreamReader(responseStream)) { data = reader.ReadToEnd(); } responseStream.Close(); var geocodeResponse = JsonConvert.DeserializeObject<List>(data); […]

我对Windows Phone 8上的2D游戏有哪些选择?

所以我一直在玩XNA,毕竟这一次,我终于制作了一款值得购买的游戏! 令我惊讶的是,我在MSDN上看到了这一点 : 面向Windows Phone OS 7.1的XNA Game Studio 4.0应用程序仍然受到完全支持,并继续在Windows Phone 8设备上运行。 •您可以继续开发和维护面向Windows Phone OS 7.1的新的或现有的XNA Framework应用程序。 •您无法将针对Windows Phone OS 7.1的现有XNA Framework应用程序升级到目标Windows Phone OS 8.0。 •您无法创建面向Windows Phone OS 8.0的新XNA Framework应用程序。 选择XNA Game Studio 4.0项目模板时,只能选择Windows Phone OS 7.1作为目标操作系统。 ?您可以在面向Windows Phone OS 8.0的应用程序中使用某些XNA Framework程序集。 您可以在面向Windows Phone OS 8.0的应用程序中引用和使用以下XNA Framework程序集。 在面向Windows Phone OS 8.0的应用程序中,您不能引用或使用不在此列表中的其他XNA Framework程序集。 •Microsoft.Xna.Framework.dll •Microsoft.Xna.Framework.GamerServices.dll •Microsoft.Xna.Framework.GamerServicesExtensions.dll […]

在Windows Phone上实现可滚动表

我需要为电视指南创建一个应用程序。 要求是UI必须是您在此处可以看到的副本: raspored.bnet.hr 。 如您所见,有很多数据。 所以,基本上它将是一个大型可滚动表。 由于Windows Phone上没有这样的UI控件,我发现最好的方法是创建一个垂直列表框,其中包含水平列表框。 这一切都很好,我可以创建它。 但是,为了使其行为像表格,我还需要使这些水平列表框同步滚动,而不是一次滚动一行。 然后我在水平列表框上禁用水平滚动,并在父(垂直)列表框上启用它,当它给出结果我想实现一个大问题 – UI虚拟化。 我知道ListBox默认启用了UI虚拟化,我可以在垂直列表框上滚动时看到它,但是当我在水平列表框上禁用水平滚动时,性能非常差,有时会出现OutOfMemoryException。 我理解为什么会发生这种情况,因为当我禁用水平滚动时,那些列表框不再知道哪些项目在屏幕上,所以将它们全部加载到内存中。 我还尝试了在每个列表框上留下滚动,以便他们具有UI虚拟化,然后将ScrollViewer放在它们之上。 然后我尝试在scrollviewer上监听Manipulation事件,并根据需要以progamatically方式滚动所有列表框。 这不起作用,首先ManipulationDelta事件似乎没有频繁发生以使滚动顺利,我认为在~180列表框上调用ScrollToHorizo​​ntalOffset可能会出现性能问题。 我也尝试过WP8中的LongListSelector,因为我读到它有更好的UI虚拟化,应该用来代替ListBox。 这个问题是我不能让它水平滚动。 有可能吗? 我试图将它包装到ScrollViewer中,它可以水平滚动并且它正常工作,但前提是我在LLS上设置了固定宽度。 我也试过Telerik的RadDataBoundListBox并且问题类似,我不能在同一个列表框上同时获得水平和垂直滚动。 所以我只能得到每个列表自己滚动。 有人可以告诉我他们是否有类似的情况以及解决这个问题的最佳方法是什么? 我相信我不是唯一一个有这个要求来实现大型可滚动表的人。 谢谢 更新:我只是告诉你我没有找到一种正确的方法来实现它,而是我用HTMLB和WebBrowser控件完成了它。 似乎IE已经实现了UI虚拟化,因此它可以很好地处理大页面。

在Windows Phone 8上无法使用带有backgroundAudio的端口播放shoutcast ip

我是开发Windows Phone应用程序的新手,如果我犯了一些愚蠢的错误,那就很抱歉。 我不能在WP 8上播放shoutcast,我已经尝试过在别人的post上提出的建议,但它没有帮助。 这是我的代码的一部分:(虽然它可以不播放shoutcast) private static List _playList = new List { new AudioTrack(new Uri(“http://198.50.156.4:8062/;”,UriKind.RelativeOrAbsolute), “Radio Vision”, null, null, null, null , EnabledPlayerControls.All), new AudioTrack(new Uri(“http://live.radiocosmobandung.com.:8001/cosmo”, UriKind.RelativeOrAbsolute), “Ardan Cosmo”, null, null, null, null , EnabledPlayerControls.All), };

黑屏刚刚闪烁一段时间

在我的Windows Phone 8应用程序中,我有一个搜索页面,其中有一个TextBox供用户输入搜索关键字。 输入默认SIP键盘的“Enter”键时将调用搜索。搜索结果显示在另一页面中。 要在导航到结果页面之前隐藏键盘,我使用this.Focus()方法更改了TextBox控件的焦点。 但即使在此之后,黑屏也只是闪烁了一段时间。 有没有办法在搜索方法和导航之前完全隐藏SIP键盘。 请帮我。

如何组织Windows Phone代码库以同时针对7.x和8平台

我接手了以前针对WP 7.1平台的Windows Phone项目,随着最近宣布的新平台,它也应该针对WP 8。 我的VS 2010解决方案包含几个项目(数据访问,模型,测试和WP7客户端应用程序),我正在徘徊在如何包含对WP8的支持。 我必须注意,由于使用了Toolkit控件和专门针对WP7.1的其他第三方库,代码库与WP8不兼容。 Visual Studio版本还有另一个问题 – WP7.1可以与VS 2010一起使用,但WP8需要VS 2012. 我应该将整个代码库移动到VS 2012吗? 关于如何以最有意义的方式组织代码库以避免重复和可能的痛苦维护的任何好建议? 我在考虑一个解决方案 – 多个项目与多个解决方案 – 可重用项目方法。 代码重复(如两个单独的文件夹/解决方案)应该是最不可能的方法(回退)。

在Windows Phone 8.1 XAML中使用WrapGrid的ListView的奇怪行为

我有一个带有ListView nad WrapGrid的Windows Phone 8.1 XAML应用程序作为其WrapGrid来显示两列中的项目 页面的缓存模式设置为NavigationCacheMode.Required 。 我在列表中搜索,点击一个项目并导航到另一个屏幕。 当我使用ListView导航回页面时, ListView记住scoll位置( NavigationCacheMode.Required ),但会“破坏”,当我点击项目时,他们只是奇怪地跳起来。 以下是重现问题的完整简单解决方案: https : //dl.dropboxusercontent.com/u/73642/listview.zip 。 这是一个显示问题的video: https : //dl.dropboxusercontent.com/u/73642/listview.wmv 有人经历过这个吗? 有没有解决这个问题的方法?

使用JArray从JSON获取值

我有以下字符串(json格式) 我从我的服务器上得到了: {[{“ruta”: “1”,”division”: “7”},{“ruta”: “2”,”division”: “7”},{“ruta”: “3”,”division”:”7″},{“ruta”: “4”,”division”: “7”},{“ruta”: “5”,”division”: “7”},{“ruta”: “23”,”division”: “7”}]} 我想获取每个值并将它们保存在字符串变量中,以便将它们保存在数据库中。 为此,我试图做如下: JArray jarr = JArray.Parse(result); foreach (JObject content in jarr.Children()) { foreach (JProperty prop in content.Properties()) { string tempValue = prop.Value.ToString; // This is not allowed //here more code in order to save in a database } } 但我找不到将值转换为字符串的方法。

INotifyPropertyChanging接口如何帮助限制内存消耗

我开始学习Windows Phone 8的LINQ-to-SQL ,并在MSDN上看到了这篇文章。 它们显示了DataContext的基类,它实现了INotifyPropertyChanging和INotifyPropertyChanged 。 INotifyPropertyChanging是: ◦INotifyPropertyChanged接口用于更改跟踪。 ◦INotifyPropertyChanging接口有助于限制与更改跟踪相关的内存消耗。 本文未能提供任何特定的引用来certificateINotifyPropertyChanging接口的内存消耗声明。 关于INotifyPropertyChanging本身的文章只是说: 通知客户端属性值正在更改。 有人可以向我解释这个界面如何限制应用程序的内存占用,只需通知一个属性值即将发生变化(甚至不会限制该变化发生)?