Comment mettre une bordure sur ma grille en C # / WPF?
C'est ce que je voudrais que ce soit, mais met une bordure autour de l'ensemble au lieu du contrôle de grille que j'ai mis dans mon application.
<Grid>
<Border BorderBrush="Black" BorderThickness="2">
<Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" />
</Border>
... and so on ...
Réponses:
Si vous voulez juste une bordure extérieure, le moyen le plus simple est de la placer dans un contrôle Border:
La raison pour laquelle vous voyez la bordure remplir complètement votre contrôle est que, par défaut, c'est HorizontalAlignment et VerticalAlignment sont définis sur Stretch. Essayez ce qui suit:
Cela devrait vous permettre d'obtenir ce que vous recherchez (bien que vous souhaitiez peut-être mettre une marge sur les 4 côtés, pas seulement sur 2 ...)
la source
Si vous imbriquez votre grille dans un contrôle de bordure
ne fait pas ce que vous voulez, alors vous allez devoir créer votre propre modèle de contrôle pour la grille (ou la bordure) qui FAIT ce que vous voulez.
la source
Je pense que votre problème est que la marge doit être spécifiée dans l'étiquette de bordure et non dans la grille.
la source
C'est une réponse ultérieure qui fonctionne pour moi, si elle peut être utile à n'importe qui dans le futur. Je voulais une simple bordure autour des quatre côtés de la grille et je l'ai réalisé comme ça ...
la source
Grid
contrôle n'a pas d'BorderBrush
attribut, mais aDataGrid
...Ce code enveloppe une bordure à l'intérieur du "innerGrid"
la source
Si quelqu'un est intéressé par le problème similaire, mais ne travaille pas avec XAML, voici ma solution:
la source