2011-01-17 6 views
1

J'ai regardé plusieurs extraits de code où les gens donnent à penser que la propriété AcceptsReturn d'une zone de texte en Silverlight permettra lignes multiples. Mon problème cependant est lorsque j'ajoute une zone de texte avec cette propriété et explicitement définir la hauteur ou lui permettre de remplir le conteneur, le texte se trouve verticalement au milieu de la zone de texte.plusieurs lignes Silverlight zone de texte

<Grid x:Name="LayoutRoot" > 
    <TextBox TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/> 
</Grid> 

alt text

J'ai besoin le texte pour ancrer au sommet de la zone de texte.

Répondre

7

Assurez-vous qu'il n'y a pas un style implicite pour la zone de texte qui est prépondérant par défaut le comportement attendu dans ce cas. Dans mon cas, j'utilisais le thème Cosmopolitan de Microsoft et il avait un style implicite pour les éléments TextBox qui ne produisaient pas le bon comportement.

Dans les ressources de ce thème, si vous regardez le DefaultTextBoxStyle dans le fichier CoreStyles.xaml, à la ligne 448, vous trouverez le ScrollViewer avec un VerticalAlignment défini sur Center. Ajuster cela au sommet a résolu mon problème.

5

Essayez ceci:

<Grid x:Name="LayoutRoot"> 
    <TextBox VerticalAlignment="Stretch" VerticalContentAlignment="Top" 
      TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/> 
</Grid> 

Le texte est en haut de la boîte, et la boîte étire pour remplir la page.

Questions connexes