用下面的代碼,我可以證明一個黑色面板與50%的不透明度是如何在每一個矩形的頂部:如何設置Canvas.ZIndex在控件之間繪製黑色面板?
<Grid>
<Rectangle Fill="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Opacity="0.5" Canvas.ZIndex="1"/>
<Rectangle Fill="Red" Width="200" Height="200" Canvas.ZIndex="0"/>
<Grid>
<Rectangle Fill="Blue" Width="100" Height="100" Canvas.ZIndex="0"/>
<Rectangle Fill="Yellow" Width="50" Height="50" Canvas.ZIndex="1"/>
</Grid>
</Grid>
它看起來像這樣:
我想在黑色面板上方有黃色矩形,但這似乎是不可能的。
我可以通過將包含藍色和黃色矩形的網格的ZIndex設置爲「1」來實現某種近似。但是這也會提高黑色上方的藍色矩形,這是一個問題。
<Grid>
<Rectangle Fill="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Opacity="0.5" Canvas.ZIndex="1"/>
<Rectangle Fill="Red" Width="200" Height="200" Canvas.ZIndex="0"/>
<Grid Canvas.ZIndex="1">
<Rectangle Fill="Blue" Width="100" Height="100" Canvas.ZIndex="0"/>
<Rectangle Fill="Yellow" Width="50" Height="50" Canvas.ZIndex="1"/>
</Grid>
</Grid>
我怎麼只有黑色上面的黃色矩形? 在我的真實應用程序中,我有用戶控件而不是矩形。我喜歡用一種半黑色遮蓋物遮住所有其他的東西來突出特定的控制。
非常感謝,
謝謝克里斯,我結束了這麼做。打破子網格並將它們與父網格合併以使所有對象處於同一級別是有點痛苦的。但至少現在起作用了。 – Houman