Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Vko

WPF, Interfaces Utilisateurs et .NET

[WPF] Supprimer le padding des cellules d'une ListView

Ce qu'il y a de bien avec WPF, c'est toutes ces petites choses qu'on trouve coder en dur.

Prenez par exemple cette ListView avec un joli rectangle rouge de 20*20

<ListView DataContext="{StaticResource ds}" ItemsSource="{Binding}"> <ListView.View> <GridView> <GridView.Columns> <GridViewColumn Width="20" Header=""> <GridViewColumn.CellTemplate> <DataTemplate> <Rectangle Width="20" Height="20" Fill="Red" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> ...

Si on exécute une telle ListView, on se rend compte que notre joli rectangle ne fait que 8 pixels de largeur !

Après avoir chercher dans tous les ControlTemplate où pouvait bien se cacher ce ?*ù!$ padding, j'ai démarré mon outil préféré : Reflector.

Et voila ce que j'y ai trouvé dans la classe GridViewRowPresenter :

_defalutCellMargin = new Thickness(6.0, 0.0, 6.0, 0.0);

Hop, je sors ma calculatrice : 8 + 6 + 6 = 20 ... tiens drôle de coïncidence !? Malheureusement le hasard n’y est pour rien, la valeur de padding est bel et bien fixée en dur dans le code.

Il n’y a aucun moyen de modifier cette valeur proprement, une solution pour contourner le problème est d’affecter une marge de (-6,0,-6,0) au CellTemplate de la colonne, et hop le tour est joué !

<DataTemplate>
     <Rectangle Margin="-6,0,-6,0" Width="20" Height="20" Fill="Red" />
</DataTemplate>
 
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: lundi 8 septembre 2008 21:40 par Vko
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Comment mapper une vue SQL sur une collection de complex type? par Matthieu MEZIL le il y a 17 heures et 9 minutes

- SQL Server : Query Notification ou comment être notifié de modifications de données côté application (SqlDependency) par SQL Server vu par Christian Robert le il y a 23 heures et 8 minutes

- [WF4] Un Binding Activity/ActivityDesigner qui passe mal? par Blog de Jérémy Jeanson le 03-19-2010, 13:42

- MyTIC – SharePoint 2010 : déjà un mythe Microsoft ? par Le Blog (Vert) d'Arnaud JUND le 03-19-2010, 08:54

- TechDays 2010 Genève : Retrouvez-moi pour une session sur la Haute disponibilité et le ScaleOut avec SQL Server par SQL Server vu par Christian Robert le 03-18-2010, 15:45

- [MIX10] Keynote deuxième journée – Internet Explorer 9, Html5, Visual Studio 2010, OData par Atteint de JavaScriptite Aiguë [Cyril Durand] le 03-17-2010, 19:40

- Certifications beta .NET 4 par Kévin Gosse le 03-17-2010, 19:33

- [Mix 2010] – Microsoft Translator Technology Preview V2 par RedoBlog - The .NET Gentleman !!! le 03-17-2010, 18:53

- Lancement en Preview de Cyclone lors des TechDays 2010! par Blog de Frédéric Queudret le 03-17-2010, 16:30

- [WP7] Je ne veux pas d’un nouvel iPhone par Le blog de FremyCompany le 03-17-2010, 13:11