我真的需要能够确定给定WebView内的HTML多高.这对于我要构建的项目至关重要.我知道这是不可能的,但是我可以确定在网络浏览量上是否存在滚动条,我可能会增加视图的高度,直到它消失为止. 对此有什么想法吗?还是任何其他解决方案/建议?我考虑使用htmlagilitypack将其转换为文本块(现在移植到地铁上),但HTML太复杂了. 解决方案 如果您控制了HTML,请添加此JavaScript: function getDocHeight() { var D = document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clien
以下是关于 microsoft-metro 的编程技术问答
我目前正在开发一个WinRT应用程序,其中我从Windows.Storage.ApplicationData.Current.LocalFolder加载本地HTML文件.我喜欢知道嵌入在HTML文件中的图像,音频,视频,CSS,JavaScript等的最佳方法. 当前,我正在Windows.ApplicationModel.Package.Current.InstalledLocation中编写这些文件,但是一旦应用程序从商店部署或通过Windows PowerShell安装AppPackage,除非您更改" Program Files的所有权),否/WindowsApps"当前用户或"每个人"文件夹. 预先感谢. 解决方案 我不确定您到底在问什么.唯一应该是Windows.ApplicationModel.Package.Current.InstalledLocation的文件是使用AppPackage安装的文件,即是您应用程序分发的一部分.您的应用程序不应(甚至不
我在地铁样式应用中的WebView控件中加载HTML文件时遇到了一些麻烦. 我一直在搜索Internet,发现您无法使用Navigateto方法加载本地HTML文件.我还发现有一个解决方法,您可以在其中使用控件的NavigatEtostring方法.以下是我看到的链接: 论坛/en-us/winappswithcsharp/thread/9CD8614D-2DC8-48AC-9CD9-57B03A644930 有关该主题的帖子中的某人举例说明了如何做到这一点.他们使用了一个字节阵列,其中放置了从调用iinputStream.ReadAsync方法获得的数据.我遇到的问题是,在称之为该方法后,字节阵列已满0,我认为没关系.谁能帮我吗? 解决方案 您可以使用ms-appx-web:///协议而不是ms-appx:///来切换上下文,我已经成功地加载了本地HTML文件以及关联的CSS和JavaScript,并在HTML/JS Metro Style App中. 我尚未在XA
我想通过代码为我的webview设置cookie.我知道Windows Phone不可能.但是现在在Windows 8中可以吗?谁能指导我? 替代选项:在Windows 8中导航到URL时,我可以通过标头吗? 在Windows Phone Navigate(URL, [Flags,] [TargetFrameName,] [PostData,] [Headers]) 在Windows 8 中 Navigate(Uri source) 解决方案 对不起,但是WebView控件不会为您做到. 您可以使用所需的标题来填写想要创建自定义的WebRequest的内容,然后使用Webview.navigateToString()使用Webresponse的内容. 其他解决方案 在Windows 8.1和Windows 10中,您可以做: // using Windows.Web.Http; // using Windows.We
在用户在WebView中导航时,似乎没有XAML WebView控件的源属性正在更新.是否可以在WebView中获得当前正在渲染的当前URI或HTML?我的需要是解析要显示的HTML,以便任何一种工作. 解决方案 事实证明,WebView并未提供直接检索其HTML的方法.但是您可以使用WebView.invokescript这样: webview.InvokeScript("eval", new string[] {"document.documentElement.outerHTML;"}) 您也可以通过loadCompleted Event的NavigationEventargs.URI获得URI. 其他解决方案 您是否查看了WebView的负载调整事件?这给了刚刚加载的URI. 其他解决方案 您要寻找的属性称为Source. 不幸的是,Document winforms的属性WebBrowser似乎不再存在. 您将必须重新下载页面并使用库进行
我的web-api返回用户对象.在该对象中,有一个DateTime属性.当我在我的应用程序中读取它时,我会遇到一个错误 {system.runtime.serialization.SerializationException:有一个 错误化类型用户的对象. DateTime内容 '1984-10-02T01:00:00''不是以'/date('and tim')/'开始 根据JSON的要求. ---> public static async Task GetUser(string email) { try { using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(url + "?email="+emai
试图从VS调试地铁项目时,我遇到了这个错误: DEP0700:应用程序的注册失败.另一个用户已经安装了此应用程序的打包版本.未包装的版本无法替代它.相互冲突的软件包是Packagename,它由CN =某些GUID发布. (0x80073CF9) ,但我已经从开始页面卸载了该应用程序,此外,我也可以确认ADD/REMOVE程序中没有输入. 并且由于访问"%programFiles%\ WindowsApps"文件夹,该文件夹被阻止了,因此我无法查看该应用程序是否仍然存在. 但是,我仍然可以在注册表中找到许多" packagename". 如何诊断这个?如何摆脱"包装版本",以便我可以从VS开始调试? 解决方案 我找到一个解决方案解决问题.据说这是一个"舞台包",并未显示在我的开始页面中,因此我无法以正常的方式卸载它.我遵循这些步骤,并成功地摆脱了"不可安装"的:)包裹. 其他解决方案 尝试再次从Windows存储中安装应用程序,然后从开始页面
如何移植我在表面上构建的Windows8应用程序?我已经使用Visual Studio构建了该应用程序,只需击中F5,就可以在台式机上进行测试.如何将其放在表面上进行测试,而无需将其发布到商店中?谢谢. 解决方案 此链接说明了如何使用远程调试在表面上测试您的应用程序: http://timheuer.com/blog/archive/Archive/2012/2012/10/10/26/remote-debugging-windows-windows-store-store-store-store-apps-apps-on--on--on--on--on--on--on--on- surface-arm-devices.aspx 快速摘要: 1.下载Visual Studio 2012的远程工具(来自在这里,在底部的"附加软件"下)并安装他们在你的表面上. 2.在您的表面上启动远程调试器并进行配置.让它运行并"听". 3.返回到您的开发机器,在Visual Studi
我想知道是否有人尝试在基于XAML的Metro应用程序中使用WCF RIA服务.如果您有任何博客或样本,请分享. 解决方案 实际上我做了,这是技巧:) 我向我的WCF服务添加了" 服务参考",以公开 ado.net实体框架模型.问题是在XAML/C#Metro应用中,执行以下代码失败: SampleEntities ctx = ((App)Application.Current).Context; var query = from p in ctx.Products where p.Name == name select p; foreach (Product p in query) /** this line fails **/ { // do stuff } 这是您在运行时获得的例外: " Silverlight不能使您直接枚举数据 服务查询.这是因为枚举会自动发送 对数据服务的同步请求.
由于某种原因,我使用"添加服务参考"向导会为WCF服务生成错误. Custom tool warning: No endpoints compatible with version 1 of windows immersive project were found. C:\work\test_projects\CirMetro\Service References\SvcProxy\Reference.svcmap 1 1 CirMetro 你们知道如何解决吗? 我的样本WCF服务很简单.这是源代码: static void Main() { UiWcfSession.OnInitialize += ClientInitialize; var baseAddresses = new Uri("net.tcp://localhost:9000/"); var host = new ServiceHost(typeof(UiWc
我有一个Windows Store -Metro应用程序,该应用与在同一PC上运行的NET TCP WCF服务(在控制台应用程序中托管),但在Windows 8的桌面模式下.一切都很好. 我打包我的商店/地铁应用和WCF服务,然后在另一台没有安装Visual Studio的PC上尝试,因此我不重新编译代码,我只安装Metro App软件包并运行WCF服务的可执行文件. WCF服务开始正常,但是当我启动Metro应用程序时,它会给我错误(请参见下图) 似乎出于某种原因,Metro应用程序安装在其他PC上时无法找到服务参考.谷歌搜索后,我尝试了很多事情,但没有任何效果.任何想法/提示/建议将不胜感激. 解决方案 Windows商店应用程序通常无法使用回环地址,除了1)在同一过程中进行通信,或2)出于开发目的.来自 使用IP回环地址的网络通信不能用于Windows Store应用程序中的解释性通信(在两个不同的应用程序之间),因为这受到网络隔离的限制.用于通信目的的同一过
我正在使用Windows 8和Visual Studio 2012 RC用于Metro Apps开发. 在这里,我正在使用GridApplication用于创建3个listViews( groupEditems )的模板,这3个ListView将需要显示我服务中的不同信息.实际上,在默认网格应用程序中,他们为所有listViews提供了共同的项目,但是在这里,我不想显示第二个ListView 的图像,当我在JavaScript文件中删除了背景图像变量时,它像空图像一样显示符号(参见屏幕截图) 下面我试图提供我的应用程序场景. 任何人可以帮助我获得我的输出吗? 谢谢. 解决方案 您需要修改html中的模板
我在针对.NET 4.5和Windows Store应用程序的便携式类库中具有此非常简单的代码: HttpResponseMessage response = await _httpClient.PostAsync(uri, content); response.EnsureSuccessStatusCode(); 当我将断点放在第二行上并运行我的应用程序时,断点是正确命中的,但是我无法调查调试器中的响应,因为它报告了: 当前上下文中不存在名称"响应" 我不确定它有多少相关,但我还必须在调试器设置中禁用我的代码 debugger设置,以便能够调试我的便携式类库与与该解决方案相同的解决方案中执行应用程序. 这是异步方法,便携式类库,目标应用程序(特别是Windows Store应用程序)或这些工具组合的限制吗?还是调试器错误?任何解决方法都会有所帮助. 解决方案 我不确定较新的Visual Studio更新是否仍然发生(我不再具有该代码库),但是在我的情
安装Windows 8消费者预览 安装的Visual Studio 2010 Premium 安装的Visual Studio 11 Ultimate 安装的一切都没有任何错误. 我使用Visual Studio 11创建了一个新的Windows 8 Metro应用程序,并且在Vs 11 Designer中查看XAML没有问题.如果我以视觉工作室11的方式查看它,则有错误: 无法打开项目'testapp.csproj'.未找到导入的项目'c:\ program文件(x86)\ msbuild \ microsoft \ windowsxaml \ v11 \ microsoft.windows.ui.xaml.csharp.targets'确认声明中的路径是正确的,并且文件存在于磁盘上. C:\ Users \ Testuser \ Documents \ Visual Studio 11 \ Projects \ Testapp \ Testapp.csproj
将我的Silverlight 5解决方案升级到Visual Studio 2012(RTM),然后更新到Windows 8(RTM),我注意到当您在XAML中设置一个断点时,您将在调试模式下获得以下工具提示: 当前不会击中断点.找不到符号:system.xml.xsl.runtime.xmlqueryruntime.oncurrentnodechanged2. 然后,我尝试在Windows商店应用程序测试项目的XAML中设置一个断点,然后设置WPF应用程序,但我得到了完全相同的工具提示. 我试图修复Visual Studio 2012,但这并没有改变任何内容. 在Visual Studio 2010中,此类断点效果很好. 有人遇到同样的问题吗?如何解决这个问题? 解决方案 尝试从MS启用符号下载和源.如这里所建议的 http://msdn.microsoft.com/en-en-us/library/library/library/cc667410.as
菜鸟警告.我真的是Windows开发工具的新手. 我已经安装了最新的Win8 RC,并且还获得了VS 2012 RC.现在,我正在尝试创建一个地铁风格的应用程序(C#),但是从VS执行测试时会遇到问题.错误消息是: Error : DEP0700 : Registration of the app in the layout folder "C:\" failed. error 0x80070005: Failed to set access rights to \\?\C:\ Failed to activate Metro style unit test executor. Error : The parameter is incorrect. 如果尝试使用 vsttest.console.exe 从命令行运行单元测试,则最初由于不信任的根证书而失败.补救措施是使用certutil添加生成的.cer文件,在该命令提示符的运行单元测
我正在尝试使搜索合同在我的Win 8应用程序上工作,但是在我的项目中添加搜索合同后,我会收到以下名称空间错误: LayoutAwarePage does not exist in namespace App1.Common. 我确实在XAML中具有正确的名称空间声明: xmlns:common="using:App1.Common" layoutawarepage在正确的命名空间app1.common 中 重新启动VS2012或进行删除和重建无济于事. 要复制此问题,请尝试以下内容: 1)创建新的空白地铁应用 2)将引用添加到Visual C ++运行时 3)在项目中添加搜索合同(单击"是"以自动添加其他内容,例如Layoutawarepage等) ) 4)重建和打开searchResultSpage1.xaml 如果您遵循上述步骤,则应看到错误,还请注意,SearchResultSpage1不显示在设计器中. 此问题仅在您添