Как разработать приложение наподобие браузера Google Chrome в WPF с использованием C # - PullRequest
4 голосов
/ 08 ноября 2010
I am trying to develop an windows application like Google chrome Browser in WPF

с использованием C #. Я сталкиваюсь с проблемой создания собственного окна и размещения вкладок в месте расположения заголовка этого окна. Подскажите пожалуйста как на это пойти, есть ли для этого какой нибудь инструмент?

Направь меня, пожалуйста ..........

Обновлен:

Привет, друзья! Спасибо за ваши активные ответы. Я также следовал ссылкам, которые вы дали, и тому, как вы сказали, но все же у меня есть сомнения в разработке приложения, пожалуйста, дайте мне еще несколько идей, где я могу разработать это приложение, используя Google Chrome, например управления. Я хочу, чтобы мое приложение Google Chrome выглядело как-то по-другому .....

Ответы [ 3 ]

6 голосов
/ 08 ноября 2010

Google Chrome, по сути, настраивает не-клиентскую область своего окна, чтобы удалить вещи, которые он считает лишними, например строку заголовка.Вот так он получает вкладки для замены строки заголовка окна, точно так же, как 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 и Desktop Window Manager (DWM)присутствуют / включены.Вы должны будете убедиться, что ваше приложение изящно ухудшается, когда эти вещи отсутствуют.Я бы посоветовал быть уверенным, что вы действительно сможете убедительно обосновать необходимость и пользу для пользователей, прежде чем вкладывать в свое приложение все время и силы, необходимые для выполнения подобных задач.

6 голосов
/ 05 июля 2012

Я только что закончил элемент управления вкладками в стиле Google Chrome для WPF. Вы можете найти проект на https://github.com/realistschuckle/wpfchrometabs и в блогах, описывающих его на

Надеюсь, это поможет!

2 голосов
/ 08 ноября 2010

Похоже, что Chrome рисует свои вкладки в пределах ограниченной области области строки заголовка. Когда открыто достаточное количество вкладок, ширина существующих элементов управления вкладками уменьшается, чтобы освободить место для новой вкладки.

Я бы предложил принять аналогичную стратегию, нарисовав свои вкладки в прямоугольнике подходящего размера, который не пересекается с кнопками надписей (Свернуть, Развернуть, закрыть) и уменьшив ширину существующих заголовков вкладок при заполнении области

[ Обновление 1 ]

Хотя я не видел ваш код, я бы предположил, что это происходит, потому что заголовок вкладки (часть, отображаемая в области строки заголовка) и страница вкладки (часть, покрывающая большую часть экрана) являются частью одного и того же и отображаются как единое целое, поэтому при попытке нарисовать заголовок в области содержимое вкладки также перерисовывается.

Если это так, то вам нужно нарисовать заголовок вкладки и страницу содержимого как отдельные элементы управления и поддерживать некоторое состояние на вкладке, которое указывает, какая вкладка должна стать видимой при выборе вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...