2011-04-13 22 views
9

BenGridSplitter doğru bölme değil

<Grid>   
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

benim GridSplitter Row 3 (4 sıra) üzerindedir şu kılavuz var, aşağıdaki gibi tanımlayın:

<GridSplitter Grid.Row="3" 
       ResizeDirection="Rows" 
       Style="{StaticResource HorizontalGridSplitter}" 
       IsTabStop="False" /> 
<Style x:Key="HorizontalGridSplitter" 
     TargetType="{x:Type GridSplitter}"> 
    <Setter Property="Height" 
      Value="4" /> 
    <Setter Property="HorizontalAlignment" 
      Value="Stretch" /> 
    <Setter Property="VerticalAlignment" 
      Value="Stretch" /> 
    <Setter Property="Margin" 
      Value="0" /> 
</Style> 

bölmek amacıyla ben bölünmeyi sürüklediğinizde satır 2/4, Satırları gerçekten bölmez, ızgara yüksekliği büyür gibi görünüyor. Aşağıda görebileceğiniz gibi GridSplitter

+0

Benzer bir problemim vardı, ne yazık ki bunu nasıl çözdüğümü hatırlayamıyorum ... –

cevap

24

, üç farklı boyutlandırma davranışları vardır:

Resize Behaviours

GridSplitter yeniden boyutları seçilen ResizeBehaviour göre ve mevcut alana göre belirlenen iki/sütunları Bu durumda, sizin için, önce satır için yükseklik belirtin ve sonra satır, sadece satır önce yeniden boyutu olabilir, sonra satır için Otomatik yükseklik, satır her zaman kalır Auto:

enter image description here

Eğer Width="*" için önce sonra satır ve satır ve aşağıdaki kod parçacığını bkz ResizeBehavior="PreviousAndNext" yeniden boy davranışını belirlemek zorunda bu sorunu düzeltmek için:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <GridSplitter Grid.Row="3" ResizeDirection="Rows" 
        Style="{StaticResource HorizontalGridSplitter}"      
        IsTabStop="False" HorizontalAlignment="Stretch" 
        ResizeBehavior="PreviousAndNext" /> 
</Grid> 
da

daha iyi ayarlamak Diğer tüm satırların yüksekliği Auto ya da herhangi bir garip davranıştan kaçınmak için sabit bir değere yükselir :)

İlgili konular