WPF Window Docking - PullRequest
       10

WPF Window Docking

1 голос
/ 16 декабря 2009

У меня несколько окон (файлы .xaml). Я хочу закрепить одно окно в другом.

Скажи, у меня есть ParentWindow.xaml. По нажатию кнопки в ParentWindow я открываю ChildWindow.xaml. После открытия ChildWindow.xaml я должен закрепить его в ParentWindow.xaml.

Как это реализовать?

Ответы [ 3 ]

3 голосов
/ 16 декабря 2009

посмотрите на эту библиотеку: http://www.codeproject.com/KB/WPF/WPFdockinglib.aspx

0 голосов
/ 23 января 2010

Вы хотите закрепить, как виджет в вашем MainWindow, или хотите закрепить его содержимое в MainWindow UIElement?

Давайте попробуем это в mainwindow.xaml.vb:

Dim NewMyWinChild As Window2 = New Window2()
Dim TheMyContent As Object = NewMyWinChild.Content
GridNameOfMyUIElemnt.Children.Add(TheMyContent)

Это добавит содержимое Window2 в GridNameOfMyUIElemnt-mainwindow.xaml во время выполнения.

Я думаю, что если вам нужен виджет, вы можете установить свойства "Z-panel index".

MDI, да, может, просто гуглил, но он старый.

(у меня отлично работает в VB 2005 express с .Net 3.0)

0 голосов
/ 16 декабря 2009

Я думаю, что вы ищете интерфейс MDI. В WPF это невозможно: дочерние элементы окна не могут быть окнами, они могут быть только элементами управления.

Вместо этого вы можете изменить ChildWindow на UserControl и отобразить его в TabControl. Большинство современных интерфейсов теперь используют вкладки, а не MDI ...

...