日期:2014-05-18  浏览次数:21100 次

采用C#WPF实现自己的网页浏览器(自定义Tab控件)

欢迎大家提出意见,一起讨论!

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

源码下载: http://www.rayfile.com/zh-cn/files/459fa05c-bf69-11e1-b0ff-0015c55db73d/

 编译平台:VS2008 + .Net Framework 3.5

        语言: C#

 

此博客的目的:

以浏览器程序的实现,学习自定义TabControl的方法,使之能实现系统Tab不具有的功能:

(1)排列方式扩展为:Top、Bottom、Left、Right

(2)增加对TabItem的事件处理

(3)

一、浏览器实现

效果图:

1、启动窗口显示两个按钮

 

 

它们的处理函数对应是去创建窗口WindowUsingItemProperty或WindowUsingItemsSourceProperty


  接下来的设计我们以WindowUsingItemProperty为例来说明.

2、加入自定义控件Wpf.TabControl

在WindowUsingItemProperty窗口的界面设计文件WindowUsingItemProperty.xaml中加入自定义控件Wpf.TabControl.

3、浏览器界面控件布局

首先将界面分为三行:

3、1 每一行加入TextBlock与TextBox,用于输入网址

当输入网址确认后的处理是获得浏览器对象并让浏览器导航到指定的网址


而浏览器的获得是通过当前TabItem来得到的


 

3、2   根据自定义控件TabControl的规则加入节点

请注意空间 r: 的原因。

3、2、1 对TabControl中的TabItem显示的三种状态进行设置。

目的是为了看起来像IE7的样子。

 

3、2、2  加入TabItem

TabItem中包括了对Header、Icon的设置,及在Item中的内容中包裹WebI浏览器

 

在 3、1  中我们看到GetCurrentWebBrowser的获得有两个步骤:

(1)获得选中的TabItem中的Conte