2010-11-07 13 views
0

J'ai cette fenêtre:WPF problèmes d'alignement

alt text

Mon problème est que lorsque le nombre est supérieur à 2 chiffres, il pousse le rectangle rouge à droite. et je voudrais d'agir comme ça:

alt text

Le rectangle ne doit pas été poussé vers la droite.

Ceci est mon XAML:

<StackPanel> 
    <Border BorderThickness="1" BorderBrush="Beige"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="30" /> 
       <ColumnDefinition Width="auto" /> 
       <ColumnDefinition Width="auto" /> 
      </Grid.ColumnDefinitions> 

      <StackPanel Orientation="Horizontal" Grid.Column="1"> 
       <TextBlock Text="1" VerticalAlignment="Top" /> 
       <Rectangle Width="20" Height="20" Fill="Red" VerticalAlignment="Top" /> 
      </StackPanel> 
     </Grid> 
    </Border> 
    <Border BorderThickness="1" BorderBrush="Beige"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="30" /> 
       <ColumnDefinition Width="auto" /> 
       <ColumnDefinition Width="auto" /> 
      </Grid.ColumnDefinitions> 

      <StackPanel Orientation="Horizontal" Grid.Column="1" > 
       <TextBlock Text="1123" VerticalAlignment="Top" /> 
       <Rectangle Width="20" Height="20" Fill="Red" VerticalAlignment="Top" /> 
      </StackPanel> 
     </Grid> 
    </Border> 
</StackPanel> 

Répondre

1
<StackPanel> 
    <Border BorderThickness="1" BorderBrush="Beige"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="30" /> 
       <ColumnDefinition Width="auto" /> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition /> 
       <RowDefinition /> 
      </Grid.RowDefinitions> 
      <TextBlock Text="1" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right"/> 
      <Rectangle Width="20" Height="20" Fill="Red" Grid.Column="1" Grid.Row="0"/> 
      <TextBlock Text="1123" VerticalAlignment="Top" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right"/> 
      <Rectangle Width="20" Height="20" Fill="Red" Grid.Column="1" Grid.Row="1"/> 
     </Grid> 
    </Border> 
</StackPanel>