Как реализовать отделяемый элемент управления в XAML и WPF

Я хочу иметь съемные элементы управления в своем программном обеспечении, где пользователь может перетаскивать представление (элемент управления) в отдельное окно. Как TabItems в Visual Studio 2010.

В это время определенные представления создаются всякий раз, когда щелкают пункт меню и запрашивается новый тип данных. Представления отображаются в HeaderedContenControl, который имеет ContentPresenter в качестве дочернего элемента. Моя цель - сделать возможным щелкнуть заголовок этого элемента управления и перетащить его, чтобы он стал отдельным окном. Кроме того, отдельное окно не следует изменять, щелкая новый пункт меню, вместо этого новое представление должно быть снова создано в главном окне. TabControl с его TabItems кажется лучшим элементом управления для реализации этого поведения, но стандартный TabItem — довольно простая вещь без таких возможностей.

Я искал в сети решение, но пока ничего не нашел. Я надеюсь, что смогу найти помощь на этом сайте.


person stmountain    schedule 05.10.2011    source источник


Ответы (2)


Эта функция обычно является частью различных решений для стыковки. Я лично рекомендую AvalonDock — он может делать именно то, что вы описываете, и он бесплатный (и с открытым исходным кодом).

Если вы хотите написать такую ​​функцию самостоятельно, вам лучше подготовиться к написанию значительного количества кода;)

person Matěj Zábský    schedule 05.10.2011

Другим вариантом могут быть элементы управления Infragistics.

Мы использовали его в довольно большом проекте и остались довольны.

Хотя они не бесплатные.

person Community    schedule 05.10.2011