繁体   English   中英

如何使用C#在WPF中开发类似谷歌Chrome浏览器的应用程序

[英]How to develop an application like Google Chrome browser in WPF using C#

I am trying to develop an windows application like Google chrome Browser in WPF

使用C#。我在制作我自己的自定义窗口和在该窗口的标题位置的位置放置标签时遇到问题。 请建议我如何去做,有什么工具吗?

请指导我..........

更新:

嗨朋友感谢您的积极回应,我也按照您提供的链接和您说的方式,但我仍然怀疑开发应用程序,请给我一些更多的想法,我可以通过使用谷歌Chrome控件来开发此应用程序。 我想给我的应用程序谷歌浏览器的外观和感觉.....

我刚刚为WPF完成了类似Google Chrome的Tab Control。 您可以在https://github.com/realistschuckle/wpfchrometabs找到该项目,并在博客文章中描述它

希望有所帮助!

谷歌浏览器本质上是自定义绘制窗口的非客户区域,以删除它认为多余的东西,如标题栏。 这就是它如何获取选项卡来替换窗口的标题栏,就像Microsoft Office在文档窗口的标题区域中放置其“珍珠”和快速访问工具栏一样。

要在WPF中执行类似的操作,您可能会发现本文很有用: http//blogs.msdn.com/b/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

请记住,每当您重新实现标准的Windows chrome时,您将不得不处理Windows通常对您透明的一些内容,例如调整大小,最小化,最大化,移动和关闭窗口。

值得考虑的是,Google Chrome和Microsoft Office应用程序(以及其他应用程序)的行为会有所不同,具体取决于Aero Glass和桌面窗口管理器(DWM)是否存在/启用。 当缺少这些东西时,您将不得不确保应用程序正常降级。 我建议您确保在投入所需的时间和精力在应用程序中执行此类操作之前,确实可以为用户提供必要且有益的令人信服的案例。

Chrome似乎在标题栏区域的有限区域内绘制标签。 当打开足够的选项卡时,现有选项卡控件的宽度会减小,以便为新选项卡腾出空间。

我建议您通过在适当大小的矩形中绘制标签来采用类似的策略,该矩形与标题按钮(最小化,最大化关闭)不相交,并在区域变满时减小现有标签标题的宽度

[ 更新1 ]

虽然我没有看到你的代码,但我建议这是因为标题页(标题栏区域中显示的部分)和标签页(覆盖大部分屏幕的部分)是同一控件的一部分,作为一个单元绘制,所以当你尝试在区域中绘制标题时,标签内容也会重新绘制。

如果是这种情况,则需要将选项卡标题和内容页面绘制为单独的控件,并在选项卡中保留一些状态,指示选择选项卡时哪个选项卡页应该可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM