WPF DataGrid Column Width Auto and Scrollbar
j'ai un DataGrid avec beaucoup de colonnes.
je veux Width="Auto"
avec scrollbar montrant tout si fenêtre plus étroite que toutes les colonnes. Si la fenêtre est plus large, je veux que les colonnes couvrent l'espace vide pour qu'il n'y ait pas d'espace mort.
En Gros, je veux que la largeur minimale de la colonne corresponde parfaitement au contenu ou à l'en-tête. Et étendre à plus grand si la fenêtre plus large.
11
demandé sur
ΩmegaMan
2012-11-29 21:49:39
2 réponses
afin de "remplir" tout l'espace horizontal dans WPF DataGrid
comme vous l'avez indiqué, assurez-vous d'avoir ces propriétés définies dans XAML:
<DataGrid
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ColumnWidth="*" />
24
répondu
Alexander Bell
2013-05-21 04:17:43
Dans le code XAML ensemble DataGrid ColumnWidth="Auto"
dans UserControl constructor ajouter
dataGrid.Loaded += (s, e) => { // Column widths
dataGrid.Columns.AsParallel().ForEach(column => {
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
});
};
utiliser ceci avec un DataGrid personnalisé et fonctionne très bien.
7
répondu
Brent
2013-07-19 04:07:09