2012-02-01 108 views
4

我創建了這個簡單的演示,因爲我在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

回答

4

它出現的窗口有,你不能走下面的最小寬度即使你調整大小。這可能與頂部的按鈕有關。如果您將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