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?)
Antworten
Zu viele Anzeigen?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>
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.