2015-06-30 48 views
1

我無法讓兩個ListViews將它們的高度調整到包含窗口。我在他們之間使用GridSplitter。當我拖動GridSplitter時,我希望一個ListView縮小,一個增長。如何讓列表視圖自動調整窗口在WPF中的大小時的高度

這裏是精簡的xaml代碼。

<Grid x:Name="Gridthing"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="150"/> 
      <RowDefinition Height="10"/> 
      <RowDefinition Height="150"/> <!--bottom--> 
     </Grid.RowDefinitions> 
      <ListView Name="Things1" Grid.Row="0"/> 
      <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightGray"></GridSplitter> 
      <ListView Name="Things2" Grid.Row="2"/> 
</Grid> 

但是在這個例子中,無論窗口大小設置爲多少,底部ListView總是150高。

現在我已經可以聽到千聲尖叫使用「*」或「自動」的底部網格行的高度。

然而,這有一個更糟糕的問題。底部的ListView現在擴展了窗口並且沒有滾動條,呈現窗口中不可見的東西。

我正在尋找一種方法,允許兩個ListViews佔用窗口中的所有空間,並且GridSplitter始終顯示滾動條。

感謝您的任何幫助。

+1

'Height =「*」'應該可以正常工作。 'Grid'是'Window'的直接子節點還是'Grid'和'Window'(主要是'StackPanel'或'Canvas')之間有一些控件? – dkozl

+0

我們正在使用UserControl而不是一個窗口。但它是控制的直接孩子。 –

+1

那麼'UserControl'放置在哪裏等等?點仍然站立。在你的'Grid'和'Window'垂直的'StackPanel'或'Canvas'之間? – dkozl

回答

1

問題是我的網格位於主窗口內的stackpannel內的用戶控制器中。我不得不在主窗口中換出一個網格的stackpannel,然後完成它。謝謝dkozl。

相關問題