开发Metro版浏览器

Windows 8中的Metro程序是一种全屏应用程序,专门针对触摸屏设备进行优化。Windows 8 Developer Preview中已经包含了一些Metro应用:

测试代码下载

像微软自己的一些程序,如IE、Windows Store等都有Metro版本,在即将发布的Windows 8消费者预览版中,估计会有更多的Metro应用,到时Windows Store也会正式启用。

在PowerShell 3.0中使用命令Get-AppxPackage –AllUsers可以查看当前安装了哪些Metro应用:

可以看到,Metro程序安装在C:\Program Files\Applications

该文件夹没有权限,不能在资源管理器中查看,故使用PowerShell:

 

我也开始开发一些Metro程序,为公司产品的Metro版本试水。

这次我开发的是一个Metro版本的浏览器,类似于IE 10。

最终运行效果:

 

1、使用VS 11 Developer Preview创建一个Metro项目:

 

2、界面布局很简单,第一行地址栏、工具按钮等,下面是预览窗口:

 

3、WinRT中没有WebBrowser控件,取而代之的是WebView,MSDN上有关于此控件的大致介绍。

WebView有个Source属性,可以设置为具体的URL,如http://www.bing.com,这样WebView就会跳转到指定URL。

 

4、WebView使用的是IE 10的内核,不支持任何插件(Flash、Silverlight),只能用HTML5。

要先设置下Internet属性,允许跨域浏览,允许脚本等。

 

5、WebView有两个方法比较常用

 

         private  void fn跳转到指定Url( string v_Url)
        {
             if (!v_Url.StartsWith( " http:// ") && !v_Url.StartsWith( " https:// "))
            {
                v_Url =  " http:// " + v_Url;
            }

             if ( this.fn是否是有效Url(v_Url))
            {
                 this.wv.Navigate( new Uri(v_Url));
            }
             else
            {
                 this.wv.NavigateToString( @" <html><h3>404</h3></html> ");
            }
        }

 

Navigate用于跳转到指定URLNavigateToString用于显示执行的HTML,这里我是显示一个自定义的404页面。

 

6、模拟了网页后退、前进的效果,没有做的很严格。具体实现看下源码就明白了。

 

7、遇到一个比较棘手的问题是,在WebView中点击一个跨域的链接时,会打开Metro版的IE10显示,不能继续在WebView中显示,若有朋友解决了这个问题,请告之。

 

小结:

    我写的这个Metro版本的浏览器非常简单,仅仅实现了最基本的现代浏览器应该具有的功能,主要想测试一下Metro程序的效果。

个人还是非常喜欢Metro应用,如果使用平板操作将会非常舒服。当Windows 8正式发布时,Metro应用将会遍地开花,希望Windows 8能将平板更加普及一下,丰富企业应用、娱乐应用的开发方式。

转载于:https://www.cnblogs.com/brooks-dotnet/archive/2012/02/19/2358451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值