2014-01-08 68 views
1

得到了他的XAML:怪異Gridsplitter調整行爲

<Window x:Class="correctionTests.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <Menu Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" IsMainMenu="True"> 
      <MenuItem Header="_Ouvrir" Click="Open_Click"/> 
     </Menu> 
     <GroupBox Header="Tests : " VerticalAlignment="Top" Grid.Column="0" Grid.Row="1"> 
      <ListBox HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="testList"/> 
     </GroupBox> 
     <GridSplitter HorizontalAlignment="Right" 
         VerticalAlignment="Stretch" 
         Grid.Column="1" 
         Grid.Row="1" 
         Width="5" 
         Background="#FFBCBCBC"/> 
     <UserControl x:Name="userContent" Grid.Column="2" Grid.Row="1"/> 
    </Grid> 
</Window> 

現在的問題是,與對照組的列時我拉gridsplitter到右側,在另一方面,大小爲0是遞減的大小在將分格柵向左拉時,列0的控件正在增加。

我已經在棧上找到了這個link,建議將第一列的寬度更改爲自動。

問題是:如果我這樣做,控件不再調整大小。

我該怎麼做才能讓我的控件獲得所有可用寬度? (與預期的網格分裂行爲)?

+0

如果你從自動第二列設置爲固定的寬度它無論如何(5),並添加'Horizo​​ntalAlignment' /'Horizo​​ntalContentAlignment' ='拉伸'到'網格'孩子你仍然會得到相同的行爲?對不起,我只是沒有時間測試。 –

+0

可悲的是它沒有改變什麼 – Sidewinder94

回答

7

隨着你GridSplitter是在不同的列中,則必須設置 ResizeBehavior="PreviousAndNext"

+0

爲什麼downvote?它不工作?我沒有時間去嘗試這個。 如果是因爲它是一個古老的主題,因爲我還沒有任何答案呢......嗯,我仍然感興趣.... – Sidewinder94

+0

解決方案在我的情況下工作,仍然不明白downvote - _-'謝謝 – Sidewinder94

+0

它就像一個魅力! – shj