J'utilise une grille de données WPF pour lier un objet (c'est-à-dire pas une base de données). J'ai l'alignement horizontal sur Stretch. Je l'ai actuellement dans une frontière, qui est dans une grille.WPF Data Grid - Comment masquer la colonne/ligne suivante visible?
Cependant, lorsque j'exécute l'application, le DataGrid a une colonne vide et une grille. C'est-à-dire que j'ai 5 colonnes & 5 lignes, alors il y a une 6ème colonne vide et une ligne montrant. Voir l'image:
Question - Comment puis-je me débarrasser de ces lignes vides? Notez que le contenu du DataGrid est rempli par programme (c'est-à-dire n'est pas statique).
grâce
EDIT: je suis arrivé la ligne supplémentaire fixe (via CanUserAddRows), mais il me reste un problème avec la colonne supplémentaire à droite.
Le problème avec la colonne supplémentaire à droite semble être lié à la définition automatique des largeurs de colonnes. Le DataGrid est en fait configuré (voir XAML ci-dessous) de telle sorte qu'il y a un GridSplitter juste à droite. Lorsque je déplace le GridSplitter, je remarque que les colonnes DataGrid ne sont pas redimensionnées automatiquement. Donc globalement, le problème est à la fois (a) au démarrage, il y a une colonne supplémentaire partielle visible, et (b) après avoir déplacé le GridSplitter, ils ne sont pas redimensionnés non plus.
Des idées pour que ça fonctionne?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Content="Summary" Grid.Row="0" HorizontalAlignment="Center" />
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=AllTime}" Grid.Column="0">All Time</RadioButton>
<RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Month}" Grid.Column="1">Month</RadioButton>
<RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Week}" Grid.Column="2">Week</RadioButton>
<RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Day}" Grid.Column="3">Day</RadioButton>
</Grid>
<Border Grid.Row="2">
<DataGrid Name="SummaryDataGrid" HorizontalGridLinesBrush="#FF726868" VerticalGridLinesBrush="#FF726868" AlternatingRowBackground="#FFD0F896" CanUserReorderColumns="False" CanUserResizeRows="False" CanUserAddRows="False" CanUserSortColumns="True" CanUserResizeColumns="False" ColumnWidth="Auto" />
</Border>
</Grid>
<GridSplitter HorizontalAlignment="Right"
VerticalAlignment="Stretch" Grid.Column="1" ResizeBehavior="PreviousAndNext"
Width="5" Background="#FFBCBCBC"/>
<Grid Grid.Column="2" Name="RTChartGrid">
<-- CUT -->
</Grid>
</Grid>