Probablement un titre de question prêtant à confusion.Pourquoi mes panneaux sont-ils coupés tout autour du panneau lorsqu'ils sont plus petits que la taille explicite?
La grille avec le rectangle rouge est un exemple de ce à quoi il devrait ressembler.
La grille avec le rectangle bleu (n'apparaissant pas dans l'image) a une marge qui force la deuxième grille à être plus petite que je l'ai explicitement définie. Ce qui semble amener WPF à retourner et à cacher tout en dehors de ses limites arrangées.
J'ai essayé de placer le clip pour être plus grande que la grille. La seule façon que j'ai pu éviter est d'écrire un panneau personnalisé qui mesure ses enfants avec une contrainte de PositiveInfinity, mais arrange ensuite les enfants avec la bonne largeur. Cette méthode a beaucoup de problèmes. Ce n'est pas bon de mentir à vos enfants.
Quoi qu'il en soit, voici le code:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="NegativeMarginTooMuchClipping.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640"
Height="400">
<Grid>
<StackPanel Width="600" Height="300">
<Grid Margin="40,50,60,50" Background="#FFB8B8B8" Width="500" Height="50">
<Rectangle Fill="Red" HorizontalAlignment="Left" Height="50" VerticalAlignment="Top" Width="50" Margin="0,-50,0,0"/>
</Grid>
<Grid Margin="40,50,61,50" Background="#FFB8B8B8" Width="500" Height="50">
<Rectangle Fill="Blue" HorizontalAlignment="Left" Height="50" VerticalAlignment="Top" Width="50" Margin="0,-50,0,0"/>
</Grid>
</StackPanel>
</Grid>
Problème connu? Est-ce que je le fais mal? Besoin de plus de précisions?
D'abord, vous déplacez le rectangle bleu en dehors de la grille, puis vous le déplacez même à travers les limites StackPanel, le rectangle bleu n'est pas amusé. –