让WPF DockPanel基于其子节点大小自动调整大小的方法?

时间:2011-09-09 00:31:34

标签: c# wpf dockpanel

现在我有一个包含工具栏和BrowserWindow的DockPanel。当我重新调整BrowserWindow的大小以适应内容时,我希望该更改传播到DockPanel并自动重新调整大小。有这个设置吗?

所以我的应用程序的布局基本上是:

-Browser Control Class

--DockPanel

----Toolbar (docked to Top)

----Browser Window Class

------Grid

--------Menu

--------Embedded Browser

基本上我希望我在浏览器窗口类上设置的大小能够自动调整DockPanel的大小。

在将大小应用于浏览器窗口之前:

http://imgur.com/qlgwA

将大小应用于浏览器窗口后(我想摆脱嵌入式浏览器周围的额外空间):

http://imgur.com/YFJrh

3 个答案:

答案 0 :(得分:2)

DockPanel有一个LastChildFill属性,您可以使用它。试着玩一下吧。请记住,BrowserWindow需要是DockPanel中的最后一个子项。

我认为您还必须在网格中更改某些内容。应该设置LastChildFill属性。你至少在正确的轨道上。

答案 1 :(得分:1)

你不能指定Width="Auto"吗?

答案 2 :(得分:1)

将您的DockPanel更改为StackPanel,将其置于Grid内,并将其设置为HorizontalAlignment,将VerticalAlignment设置为Center

您可能还需要使用Height的{​​{1}} / Width来指定初始尺寸

WebBrowser