2011-08-13 98 views
0

我有一個Grid佈局。在一行中,我有一個Border並在其內部有一個ToggleButton(負左邊距,因此它出現在邊界的一半以外)。我已將DropShadowEffect添加到邊框。似乎某些東西正在剪裁邊界之外的陰影效果和切換按鈕。請參閱下面的代碼和圖像。邊框周圍的未知裁剪

<Grid Margin="0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="140*" /> 
      <RowDefinition Height="500"/> 
     </Grid.RowDefinitions> 
     <Grid Grid.Row="0" Background="LightGray"> 
      <Border Background="{StaticResource BorderFill}" Height="150" Width="400" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="20,0,20,10" BorderBrush="#FF999999" BorderThickness="1"> 
       <Border.Effect> 
        <DropShadowEffect Color="Gray" BlurRadius="40" ShadowDepth="0.1"/> 
       </Border.Effect> 
       <ToggleButton Click="MenuToggleButtonClick" Margin="-6.5,0,0,5" Style="{StaticResource ExpandCollapseButtons}" Width="Auto" Height="Auto" x:Name="MenuToggleButton" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Bottom" /> 
      </Border> 
     </Grid> 

clipping of shadow and button

左邊的紅色箭頭顯示了按鈕被限幅和右紅色箭頭顯示了陰影效果是越來越裁剪。到底是怎麼回事?我怎樣才能解決這個問題?

回答

0

看起來這個剪裁只發生在沒有足夠的空間用於內部Grid加上它的邊距。如果我將瀏覽器窗口調整得足夠小,我能夠在屏幕截圖中重現該行爲。

在你的情況下,它看起來沒有足夠的高度。如果沒有足夠的寬度,會發生類似的效果。

我不知道爲什麼這個邊框剪裁正在發生。但是,我發現如果 我將MinWidth="440"MinHeight="160"(內部網格的寬度和高度加上其邊距)的屬性添加到外部Grid,無論我調整瀏覽器窗口的大小有多小,我都無法再重新生成剪輯方向。

+0

美麗。謝謝! – Aks

+0

如果我不能給網格行整個空間,並需要部分隱藏? – Aks

+0

@Aks:你可以嘗試在另一個Grid中包裝外部'Grid',也許? –