2010-07-12 3 views
1

J'ai un TextBox avec une hauteur = 15 et largeur = 50. Je veux que la zone de texte augmente lorsque la taille du texte dépasse 50. Je veux y parvenir sans utiliser Width = "Auto". Y'a-t-il une quelconque façon de réussir cela? J'ai essayé TextWrapping = TextWrapping.Wrap sans aucun succès.WPF TextBox autogrow

Appréciez votre aide !!

Répondre

3

Réglez le MinWidth = 50

0

Disons que votre zone de texte est à l'intérieur d'une grille qui a 2 colonnes

<Grid> 
<Grid.ColumnDefinitions> 

    //The first column is used for a label 
    <ColumnDefinition Width="Auto"/> 

//This column is used for your text box 
<ColumnDefinition Width="*" 
        MinWidth="25"/> 
</Grid.ColumnDefinitions> 

    <Label Grid.Column="0" 
     Content="Something:" 
    /> 
    <TextBox Grid.Column="1" 
      Content="BindToProperty" 
    /> 
</Grid> 

et la hauteur et la largeur de votre contrôle utilisateur est réglé sur

Auto

Chaque fois que vous placez le contrôle utilisateur à d'autres contrôles, il aura la largeur minimale de

25 + largeur de l'étiquette

. Si vous souhaitez augmenter la largeur, vous pouvez définir la largeur directement sur votre contrôle utilisateur et la zone de texte sera étendue.

Vive