2009-08-25 8 views
1

Ich habe eine TextBox in einer Spalte mit einer dynamischen Spalte:TextBox in dynamischen Spalte wickeln Text nicht

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

Die Breite der TextBox passen nur auf Benutzer Bildschirm. Wenn der darin enthaltene Text jedoch länger als die initialisierte Breite ist, vergrößert die TextBox ihre Breite, ohne dass darin ein Umbruchtext enthalten ist.

Ich kann TextBox eine statische Breite zuweisen, aber es ist hässlich. Gibt es eine Möglichkeit, seine Breite in der Laufzeit dynamisch, aber statisch initialisiert zu machen?

+0

Können Sie mehr von Ihrem XAML zeigen? – AnthonyWJones

+1

Aktueller XAML kann mein Problem beschreiben: Wenn eine TextBox keine Breite hat und keine erbt, funktioniert die TextWrapping nicht. –

Antwort

0

Der Code, den Sie bisher veröffentlicht haben, sieht für mich gut aus. Ein kleiner Test in Blend bestätigt, dass der Text wie erwartet umbrochen wird.

1

Es gibt keine Möglichkeit, dies zu diesem Zeitpunkt zu tun. Warten Sie, bis Silverlight 5 das Problem mit Ancestor RelativeSource behoben hat.

0

Die Konstruktion wie beschrieben funktioniert nur, wenn einer der Eltern die Breite der visuellen Elemente begrenzt. Dies ist höchstwahrscheinlich nicht der Fall, aber ich kann das nicht vom XAML sehen, der in der Frage gepostet wurde.

Der Grund für das Fehlen von Grenzen für die Breite der Steuerelemente ist wahrscheinlich eine Scrollviewer auf einer Ebene in der Steuerelementstruktur, dass der beschriebene XAML ist Teil von.

Verwandte Themen