Je suis à l'aide d'un WPF4.0 DataGrid. En double-cliquant sur une cellule dans une nouvelle ligne tout fonctionne bien sauf que j'ai ajouté un style de cellule de cette colonne. Par exemple, j'ai une colonne numérique où je veux les données aligné à droite de sorte que le xaml ressemble à ceci
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
<DataGridTextColumn.Header>
<TextBlock Style="{StaticResource DataGridHeader}">Impa</TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
Où le style dans une ressource partagée est juste:
<Style x:Key="CellRightAlign">
<Setter Property="Control.HorizontalAlignment"
Value="Right" />
</Style>
Le résultant zone sélectionnable sur une nouvelle ligne est montré dans l'image en tant que petite zone bleue.C'est une très petite cible pour l'utilisateur de frapper, et ce qui se passe pour être la plus probable de la colonne, ils voudront faire pour commencer sur une nouvelle ligne.
Si je supprime le CellStyle, la zone fonctionne comme souhaité, mais bien sûr, je perds l'alignement à droite.
Personne ne sait comment les atteindre?
Choses que j'ai essayé
- Réglage TargetNullValue sur la liaison à un format avec une certaine largeur. Cela fonctionne sur les lignes existantes, mais n'a aucun effet sur une nouvelle ligne.
- Réglage MinWidth sur la colonne, cela n'a pas d'incidence sur la largeur de la nouvelle ligne sélectionnable la zone.
Chose qui a fonctionné:
En utilisant l'information de la réponse par @AngelWPF j'ai été capable de passer de l'utilisation d'CellStyle à l'aide de ElementStyle comme suit:
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
Est devenu
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
ElementStyle="{StaticResource CellRightAlign}">