Tag: windows phone 7

如何组织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吗? 关于如何以最有意义的方式组织代码库以避免重复和可能的痛苦维护的任何好建议? 我在考虑一个解决方案 – 多个项目与多个解决方案 – 可重用项目方法。 代码重复(如两个单独的文件夹/解决方案)应该是最不可能的方法(回退)。

当用户点击webbrowser中的链接时如何拦截

我试图拦截点击WebBrowser控件中的链接。 我的HTML页面包含自定义链接,对于一些从shared开始的链接://我想在用户点击它时拦截。 在iPhone上,我将使用webView:shouldStartLoadWithRequest:navigationType:方法,并查看所选的URL。 我还没有设法使用Silverlight for Windows Phone重现类似的行为。 我做的事情如下: { webBrowser1.Navigating += new EventHandler(webBrowser1_Navigating); } void webBrowser1_Navigating(object sender, NavigatingEventArgs e) { string scheme = null; try { scheme = e.Uri.Scheme; // <- this is throwing an exception here } catch { } if (scheme == null || scheme == "file") return; // Not going to follow […]

库将字符串解析为公式,适用于Windows Phone 7

是否有任何.NET库将字符串解析为公式? 即; “如果用户输入”(2 + 5)* 2“,图书馆将能够计算出来吗? 编辑:最好能够与Windows Phone 7一起使用而没有太多摆弄的东西会很棒!

Windows Phone 7隐藏应用程序栏

我希望能够按一个按钮来禁用我的应用程序中的菜单栏。 如果你走的话 menubar.IsVisible = false; 它抛出一个空引用exception。 菜单栏在XAML中声明。 任何人都知道它是否可以像这样隐藏它?

立即返回任务

我有一份任务列表,我想等待。 我在等 await TaskEx.WhenAll(MyViewModel.GetListOfTasks().ToArray()); MyViewModel.GetListOfTasks()返回任务列表: var tasksList = new List(); foreach (var item in Items) { tasksList.Add(item.MyTask()); } 现在,我想返回虚假任务,这将立即完成。 但是,TaskEx.WhenAll会永远等待它: public Task MyTask() { return new Task(() => false); } 我怎样才能返回任务,这将立即完成?

使用AES / Rijndael在PHP中加密,在C#(WP7 / Silverlight)中解密

我在我的Android应用程序中使用PHP编写的REST服务没有太多麻烦。 现在我正试图在Windows Phone应用程序中使用它,我已经疯了! 到目前为止我所知道的: Silverlight只接受CBC模式下的Aes和PKCS7填充。 我得到的:“填充无效,无法删除”exception(参见底部的完整代码): plaintext = srDecrypt.ReadToEnd(); 如果我在C#中加密和解密,使用相同的配置,它工作正常。 当我尝试从PHP加密字符串中输入C#时,它会因上述错误而失败。 我的PHP脚本执行以下操作: function encrypt128($message) { $vector = “DB96A56CCA7A69FC”; $key = “6DBC44F54CA3CFDEDDCA140CA46A99C1”; // PHP md5 function leaves it in lower case, so I just copied the key from C# debug. //PKCS7 Padding $block = mcrypt_get_block_size(‘rijndael_128’, ‘cbc’); $pad = $block – (strlen($message) % $block); $message.= str_repeat(chr($pad), $pad); […]

如何脱机存储密码

虽然这是专注于Windows Phone 7,但我猜这个原则是普遍的。 我想在我的应用程序中有一个密码保护区域。 但是,我的应用程序完全脱机,因此我必须在手机上存储凭据详细信息。 我最初的想法是存储密码和盐的哈希值。 这会是最好的方式吗? 如果是这样,哈希和盐是否应以纯文本forms存储,或者是否有办法确保即使它们已加密? 我知道手机上的整个方案最终会被破解,但是什么是提高障碍的最佳途径? 谢谢你的任何建议

Windows Phone 7中的异步XML读取

所以我有一个Win Phone应用程序,它正在寻找出租车公司的列表,并从Bing成功地提取他们的名字和地址,并填充正在向用户显示的列表框。 现在我要做的是,在Bing上搜索每个术语,找到每个搜索词返回的命中数并相应地对它们进行排名(一种松散的流行度排名) void findBestResult(object sender, DownloadStringCompletedEventArgs e) { string s = e.Result; XmlReader reader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(s))); String name = “”; String rName = “”; String phone = “”; List taxiCoList = new List(); while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.Name.Equals(“pho:Title”)) { name = reader.ReadInnerXml(); rName = name.Replace(“&”,”&”); } if (reader.Name.Equals(“pho:PhoneNumber”)) […]

将PNG图像保存到WP7的隔离存储

这里有相当多的图像到隔离存储问题,但我找不到适合我情况的好答案 – 所以我们走了。 我从网络上获取一个.png图像,并将其保存为BitmapImage -object。 当它完成加载(在BitmapImage.ImageOpened事件上)时,我想将它保存到独立存储。 那么,我怎样才能从这个BitmapImage(或直接来自网络)获取字节或文件流 – 这无关紧要,以便我可以将它写入我的IsolatedStorageFileStream ? 我无法在互联网上找到一篇关于它的文章, BitmapImage.StreamSource适用于WP7(因此BitmapImage.StreamSource不可用).png图像。 任何帮助将不胜感激。

将PivotItem转换为Usercontrol以提高WP7中的加载性能

我的MainPage.xaml是一个包含3个PivotItems的数据透视表页面。 目前它正在为MainPage构造函数上的每个PivotItem加载所有必需的东西。 这很糟糕,因为它加载了许多不必要的东西。 在这里和这里阅读表明我只加载第一个PivotItem并在加载后加载其余的项目。 特别是: 通过按需加载Pivot控件内容而不是在启动时加载所有内容来提高数据透视表应用程序的性能。 一种解决方案是从每个PivotItem控件获取内容并转换为UserControls。 然后,您可以在根枢轴控件上订阅LoadingPivotItem事件。 接下来,在事件处理程序中,实例化适当的UserControl并将其设置为PivotItem内容。 如果我遵循这个建议: private void OnLoadingPivotItem(object sender, PivotItemEventArgs e) { if (e.Item.Content != null) { // Content loaded already return; } Pivot pivot = (Pivot)sender; if (e.Item == pivot.Items[0]) { e.Item.Content = new Page1Control(); } else if (e.Item == pivot.Items[1]) { e.Item.Content = new Page2Control(); } else if […]