2010-08-31 69 views
10

我想和調整大小列一個簡單的3列網格和80Gridsplitter忽略列

的代碼MinWidth的minwidth看起來是這樣的:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="120" MinWidth="80"/> 
    <ColumnDefinition Width="Auto"/> 
    <ColumnDefinition Width="*" MinWidth="80"/> 
    <ColumnDefinition Width="Auto"/> 
    <ColumnDefinition Width="120" MinWidth="80"/> 
    </Grid.ColumnDefinitions> 
    <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Center" /> 
    <GridSplitter Grid.Column="3" Width="5" HorizontalAlignment="Center" /> 
</Grid> 

但它不工作,我想要的和期望的方式。當分離器被推到左邊時,一切正常。當第二個分離器向右推時,所有工作都正常。但是,如果第一個分離器被推向右邊,它會將第三列和第二個分離器推出網格(或使其寬度= 0)。

我用單獨列的gridsplitters,就像是在MSDN例子做:

<Grid.ColumnDefinitions> 
    <ColumnDefinition/> 
    <ColumnDefinition Width="Auto" /> 
    <ColumnDefinition/> 
</Grid.ColumnDefinitions> 
... 
<GridSplitter Grid.Column="1" 
     HorizontalAlignment="Center" 
     VerticalAlignment="Stretch" 
     Background="Black" 
     ShowsPreview="True" 
     Width="5" 
     /> 

我還設置對齊到中心,我讀的地方右對齊可能是一個問題 和嘗試不同的ResizeBehaviors 。

有誰知道,如何解決這個問題,以便在任何時候,3列是可見的,至少80px寬度?

感謝所有幫助

回答

16

試試這個對具有minwidth設置爲80。用*代替使用gridsplitters時指定準確的寬度三列。

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden"> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" MinWidth="80" /> 
      <ColumnDefinition Width="5"/> 
      <ColumnDefinition Width="*" MinWidth="80"/> 
      <ColumnDefinition Width="5"/> 
      <ColumnDefinition Width="*" MinWidth="80"/> 
     </Grid.ColumnDefinitions> 
     <TextBlock Grid.Column="0" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" /> 
     <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Red" /> 
     <TextBlock Grid.Column="2" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" /> 
     <GridSplitter Grid.Column="3" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Red" /> 
     <TextBlock Grid.Column="4" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" /> 
    </Grid> 
</ScrollViewer> 
+0

當第5列或第3列被調整大於最小寬度時,這會引發額外的空間。 。 。 – 2015-12-05 18:22:20