可能是一個令人困惑的問題標題。爲什麼我的面板在製作尺寸小於顯式尺寸時一直夾在面板周圍?
帶紅色矩形的網格是它應該如何看的一個例子。
具有藍色矩形(未出現在圖像中)的網格有一個邊距,強制第二個網格比我明確設置的要小。這似乎導致WPF翻轉並隱藏它的排列邊界外的所有內容。
我試過設置剪輯比網格大。
我一直能夠避免這種情況的唯一方法是編寫一個自定義面板,測量它是否具有PositiveInfinity約束的兒童,然後以正確的寬度排列子節點。該方法存在很多問題。對你的孩子撒謊是不好的。
總之,這裏的代碼:
<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>
已知問題?我做錯了嗎?需要更多的澄清?
首先您將藍色矩形網格外面,然後你甚至將它進行的跨的StackPanel的界限,藍色矩形是不開心。 – 2011-04-27 23:08:24