2 Stimmen

Wie kann man die maximale Breite einer Spalte begrenzen?

Ich habe ein DataGrid mit einigen Spalten, und ich möchte, dass eine der Spalten die gesamte mögliche Breite einnimmt, um das DataGrid zu füllen, aber nicht mehr. So wird es seinen Text umbrechen, wenn die Breite des DataGrid nicht genug ist. Ich habe ein TextWrapping verwendet, aber es funktioniert nur, wenn eine feste Breite für die Spalte eingestellt ist. Gibt es eine Möglichkeit, mein Ziel zu erreichen? (machen arbeiten sowohl Text-Wrapping und Auto-Size-Breite?)

2voto

AnthonyWJones Punkte 182582

Da Sie keine xaml gepostet haben, ist nicht klar, was Sie versucht haben. Das folgende funktioniert gut:-

            <sdk:DataGridTemplateColumn Width="*" Header="Memo">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock TextWrapping="Wrap" Text="{Binding Memo}" />
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
                <sdk:DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <TextBox TextWrapping="Wrap" Text="{Binding Memo}" />
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellEditingTemplate>
            </sdk:DataGridTemplateColumn>

0voto

Chen Kinnrot Punkte 19971

Ich habe einige ähnliche Fall auf WPF, sollten Sie es versuchen,

Erstellen Sie ein angehängtes Verhalten, das die Breite der Spalte so einstellt, dass sie der tatsächlichen Breite der Spalte entspricht, nachdem das Gitter oder die Spalte geladen wurde.

Auf diese Weise erhalten Sie die Möglichkeit der automatischen Witdh-Berechnung durch SL und haben einen festen Witdh-Wert, so dass das Wickeln funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X