2013-10-27 257 views
0

我想用網格元素做一個覆蓋(帶有TextBox元素),但是將maxHeight設置爲Window.current.Bounds.Height並沒有幫助,網格仍然長大screenheight。這裏是XAML代碼:Grid.maxHeight被忽略

<Grid x:Name="testGrid" HorizontalAlignment="Center" VerticalAlignment="Center"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 

    <TextBox Grid.Row="0" HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" AcceptsReturn="True"/> 
</Grid> 

,並在頁面的構造函數中我做:

testGrid.MaxHeight = Window.Current.Bounds.Height; 

當我鍵入它生長在高(因爲它應該)文本框,但它的增長較大比屏幕。什麼需要改變?

感謝

回答

0

嘗試從刪除Height="Auto"RowDefinition(順便說一句,你並不需要定義RowDefinition■如果您有Grid內只有一個元素),並設置ScrollViewer.VerticalScrollBarVisibility="Auto"TextBox

+0

這只是一個簡單的例子,在真正的疊加中有幾行。並且rowHeight需要設置爲Auto,否則它會發生TextBox下端消失(TextBox只是保持增長,但行沒有,因此TextBox的下部未顯示。如果沒有設置其他高度,則高度爲1 *會導致同樣高度的行) –

+0

嘗試在TextBox上設置顯式高度和ScrollViewer.VerticalScrollBarVisibility =「Auto」。 –

+0

我已經試過了,沒有工作 –

0

爲什麼不設置TextBox'MaxHeight?

0

嘗試設置網格的VerticalAlignment="Stretch"這應該會導致網格不能展開超過可見屏幕,然後文本框不應超過屏幕。