在WPF中标注控制面板的最佳实践

时间:2010-04-01 13:42:25

标签: .net wpf xaml wpf-controls

我在WPF中定义了一个Window,在这个中我放了一个“堆栈面板”,在这个面板中我放了一个“tab control”和一些“按钮控件”。

执行程序时,我希望当我必须使用鼠标调整窗口大小时,堆栈面板及其中的所有控件也可以自动调整大小并与窗口成比例。

我怎么能得到这个?

谢谢!

2 个答案:

答案 0 :(得分:1)

StackPanel仅使用其子控件所需的空间;它调整窗口的可用空间。

如果您需要此行为,请使用其他类型的面板:如果您只希望选项卡控件调整大小,请使用DockPanel并使选项卡控件成为DockPanel的最后一个子项。 DockPanel延伸到父级的可用空间,最后一个子级获得前一个子级未使用的所有空间。

<DockPanel>
    <Button DockPanel.Dock="Bottom" />
    <Button DockPanel.Dock="Bottom" />
    <TabControl>
        ...
    </TabControl>
</DockPanel>

如果您需要更复杂的间距行为(例如,您希望按钮按比例占用更多空间),请查看Grid控件。

答案 1 :(得分:0)

如果您希望所有内容均匀地向上和向下扩展,那么最终可能会使用巨大或微小的控件和字体,将整个窗口内容(目前为StackPanel)包装在Viewbox中控制。