2010-07-13 7 views
0

Ok, c'est ce que je souhaite faire.Silverlight - Redimensionner automatiquement la zone de texte pour remplir l'espace vide

J'ai une redimensionnable fenêtre qui a 3 contrôles dans la même rangée dans l'ordre qui coule: textBlock, textBox et le bouton. TextBlock et le bouton ont des textes dynamiques.

Donc, leur taille dépend du texte à l'intérieur.

Maintenant, ce que je souhaite faire est que textBox au milieu est toujours remplir tout l'espace vide entre textBlock et le bouton.

Comment faire cela?

J'ai essayé avec le code suivant mais cela ne fonctionne pas à cause de la largeur fixe dans 1. et 3. colonne.

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="40"/> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="40"/> 
    </Grid.ColumnDefinitions>         
    <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="Text1"/> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" HorizontalAlignment="Center"/> 
</Grid> 

Répondre

1

Vous pouvez utiliser la fonction Auto pour les deux largeurs de colonnes extérieures au lieu de spécifier la largeur

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions>         
    <TextBlock Grid.Column="0" Text="Text1" /> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" /> 
</Grid> 

Vous ne avez probablement pas besoin HorizontalAlignment dans les colonnes soit

+0

Merci, cela fonctionne =) – Gapipro

Questions connexes