Textblock.TextTrimming funktioniert nicht in einem Raster

8

Ich habe ein 3-spaltiges Raster für mein Layout, dessen Breite auf Width="*" eingestellt ist. Für das mittlere (2te) Gitter habe ich noch 3 Spaltengitter, die jeweils einen eigenen Textblock enthalten, und wiederum wird die Spaltengitterbreite auf Width="*" gesetzt.

Wenn die Größe des Fensters geändert wird, wird die Größe der Gitter wie erwartet geändert, jedoch wird der dritte Textblock nicht getrimmt, wenn der Text außerhalb der Grenzen des Gitters liegt. Ich habe Textfeld mit TextTrimming="WordEllipsis" und TextWrapping="Wrap" festgelegt, und die Eigenschaften werden aus irgendeinem Grund nicht erzwungen.

Hier ist ein Teil des Codes, den ich habe:

Layout-Raster:

%Vor%

2. Spaltencode:

%Vor%     
Daniel Clark 09.12.2010, 13:51
quelle

1 Antwort

9

Damit dies funktioniert, müsste die letzte Spalte im zweiten Raster eine * Größe haben, andernfalls teilt sie TextBlock mit, dass sie so viel Platz hat, wie sie möchte, selbst wenn dies nicht der Fall ist . Automatisch sortierte Spalten beschränken den Inhalt nicht auf die Grenzen eines Rasters. Allerdings würden Sie wahrscheinlich bessere Ergebnisse erzielen, wenn Sie dies mit einem einzigen TextBlock und mehreren Läufen tun würden:

%Vor%

Beachten Sie, dass Sie Run.Text nur an .NET 4.0 binden können. Wenn Sie eine ältere Version des Frameworks verwenden, müssen Sie Ihren eigenen BindableRun erstellen, der ziemlich einfach ist, wie Sie sehen können hier .

    
Abe Heidebrecht 09.12.2010, 18:10
quelle