2009-05-06 6 views
2

Je souhaite avoir une zone de texte dont la hauteur augmente lorsque j'entre les lignes de texte.WPF n'honore pas Textbox.MinLines pour le calcul automatique de la hauteur

J'ai défini la propriété Height sur "Auto", et jusqu'à présent, la croissance fonctionne. Maintenant, je veux que la hauteur de la TextBox devrait être d'au moins 5 lignes. Maintenant, j'ai défini la propriété MinLines sur "5" mais si je démarre l'application, la hauteur de TextBox est toujours une ligne.

Répondre

2

Essayez de définir la propriété MinHeight.

+0

Merci! Réponse rapide et précise ^^ – codymanix

0

Un hack pour faire le travail de propriété minlines

public class TextBoxAdv : TextBox 
{ 
    bool loaded = false; 


    /// <summary> 
    /// Constructor 
    /// </summary> 
    public TextBoxAdv() 
    { 
     Loaded += new RoutedEventHandler(Control_Loaded); 

     SetResourceReference(StyleProperty, typeof(TextBox)); 
    } 


    void Control_Loaded(object sender, RoutedEventArgs e) 
    { 
     if(!loaded) 
     { 
      loaded = true; 

      string text = Text; 
      Text = "Text"; 
      UpdateLayout(); 
      Text = text; 
     } 
    } 
}