为什么这个WPF窗口没有调整SizeToContent =“WidthAndHeight”的内容大小?

问题描述:

我创建了这个简单的演示,因为我在WPF中自动调整大小的工作时遇到了一些麻烦。这是简单的代码:为什么这个WPF窗口没有调整SizeToContent =“WidthAndHeight”的内容大小?

<Window x:Class="UnderstandSizing.Window3" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
SizeToContent="WidthAndHeight" 
ResizeMode="NoResize" > 

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <TabControl Grid.Row="0" > 
     <TabItem Header="CCCC" /> 
    </TabControl>   
    <Button Grid.Row="1" Content="Text" /> 
</Grid> 
</Window> 

由于电网已一切设置为自动和窗口配置为sizetocontent我预计将有TabControl的,并在该窗口的按钮,没有别的,但也有它的空白空间。看:

Design time设计时

Runtime运行时

我必须失去了一些东西......

+0

您列出了您的WPF示例正在做什么,但我不清楚您期望的行为。你能让我们知道你的期望吗,所以我们可以指出你正确的方向? NVM我在问题中看到详细信息... – EtherDragon 2012-02-01 16:43:22

+0

我怀疑它只是为实际的TabItem存放空间。将一个TextBox放在TabItem中。现在你只有一个标题。 – Paparazzi 2012-02-01 16:48:21

+0

至于宽度,我怀疑边框标题区域正在使用那么多的空间。 – Paparazzi 2012-02-01 16:51:46

它出现的窗口有,你不能走下面的最小宽度即使你调整大小。这可能与顶部的按钮有关。如果您将WindowStyle设置为ToolWindow,它将显示为正确的大小。有趣的是,如果将其设置为None,它最初将与默认大小相同,但可以将其调整为较小。

无论如何,你真的想让你的窗户变得这么小吗?如果你的宽度更大,窗口将正确贴合控件。

+0

这只是一个测试,因为我在真正的窗口出现问题。让我再试一次更大的尺寸。 – 2012-02-01 16:46:02

+1

好吧,你是对的,但我仍然有问题,所以我会创建一个新的问题,并在3分钟内接受这个问题(SO规则...:\) – 2012-02-01 16:47:31

+0

@ SoMoS足够公平。 – Ray 2012-02-01 16:48:17