2009-08-25 5 views
1

Je n'ai pas une zone de texte dans une colonne avec la colonne dynamique:TextBox dans la colonne dynamique n'enveloppez texte

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> 
    <ColumnDefinition Width="*"/> 
</Grid.ColumnDefinitions> 
<TextBox Grid.Column="1" TextWrapping="Wrap"/> 

La largeur de TextBox correspond tout simplement à l'écran des utilisateurs. Mais quand le texte dedans est plus long que sa largeur initialisée, le TextBox augmentera sa largeur inséed du texte d'enveloppe dedans.

Je peux assigner une largeur statique à TextBox mais c'est moche. Est-il possible de rendre sa largeur initialisée dynamique mais statique dans l'exécution?

+0

Pouvez-vous montrer plus de votre XAML? – AnthonyWJones

+1

XAML actuel peut décrire mon problème: Si un TextBox n'a pas de largeur nad n'en hérite pas, le TextWrapping ne fonctionne pas. –

Répondre

0

Le code que vous avez posté jusqu'ici me va bien. Un petit test dans Blend confirme que le texte se déroule comme prévu.

1

Il n'y a aucun moyen de le faire pour le moment. Attendez que Silverlight 5 corrige cela en utilisant Ancestor RelativeSource.

0

La construction telle que décrite ne fonctionne que lorsque l'un des parents limite la largeur des éléments visuels. Ce n'est probablement pas le cas, mais je ne le vois pas dans le code XAML affiché dans la question.

La raison de l'absence de limites sur la largeur des contrôles est très probablement un scrollviewer à un certain niveau dans l'arborescence de contrôle dont le XAML décrit fait partie.

Questions connexes