Способ сделать WPF DockPanel с автоматическим изменением размера в зависимости от размера детей?
Прямо сейчас у меня есть DockPanel, которая содержит панель инструментов и BrowserWindow. Когда я изменяю размер BrowserWindow для соответствия содержимому, я хочу, чтобы это изменение распространялось вверх в DockPanel и автоматически изменяло размер. Есть ли для этого настройки?
Итак, макет моего приложения по сути:
-Browser Control Class
--DockPanel
----Toolbar (docked to Top)
----Browser Window Class
------Grid
--------Menu
--------Embedded Browser
По сути, я хочу, чтобы размер, который я установил в своем классе окна браузера, автоматически изменял размер DockPanel.
Перед применением размера к окну браузера:
После применения размера к окну браузера (я хочу избавиться от лишнего пространства вокруг встроенного браузера):
3 ответа
DockPanel имеет свойство LastChildFill, которое вы можете использовать. Попробуйте немного поиграть с этим. Помните, что BrowserWindow должен быть последним дочерним элементом в DockPanel.
Я думаю, что вы также должны будете что-то изменить в своей Grid. По LastChildFill должно быть установлено свойство. Вы на правильном пути, по крайней мере.
Измени свой DockPanel
к StackPanel
положи его внутрь Grid
и установить это HorizontalAlignment
а также VerticalAlignment
в Center
Вы также можете поиграть с Height
/Width
из WebBrowser
указать начальный размер
<Grid>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Menu />
<WebBrowser Height="SomeValue" Width="SomeValue" />
</StackPanel>
</Grid>