2011-01-30 58 views
3

下面的代碼包含一個簡單的網格,在網格的中間一列中有一個按鈕。按鈕寬度(按意圖)大於列放置的列。注意按鈕的左邊部分是可見的,而右邊的部分不是。我必須做些什麼才能使左右按鈕部分不可見?按鈕的右側部分是z-在右側網格列的下方,但按鈕的左側部分是z-在左側網格列的上方。我需要左邊的按鈕部分也被左邊的網格列隱藏。WPF網格中的ZOrder行爲?

這是一個XAML的簡化版本,我試圖給動畫類型的'電影帶'添加動畫。膠片應放置在左下方和右側網格列中,z位於中間部分上方。動畫效果很好,但用戶會在左邊看到她不應該看到的控件,因爲這些控件應該被左邊的網格列「覆蓋」。

<Grid x:Name="LayoutRoot"> 
    <Border Background="Yellow" x:Name="ContentBorder"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="40"/> 
       <ColumnDefinition /> 
       <ColumnDefinition Width="40"/> 
      </Grid.ColumnDefinitions> 

      <Grid Grid.Column="1" > 
       <Button Content="Button" Margin="-20, 0, 0, 0" Width="240" Height="33"/> 
      </Grid> 
     </Grid> 
    </Border> 
</Grid> 

回答

3

嘗試添加ClipToBounds

<Grid x:Name="LayoutRoot"> 
    <Border Background="Yellow" x:Name="ContentBorder"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="40"/> 
       <ColumnDefinition /> 
       <ColumnDefinition Width="40"/> 
      </Grid.ColumnDefinitions> 
      <Grid Grid.Column="1" ClipToBounds="True" > 
       <Button Content="Button" Margin="-20, 0, 0, 0" Width="240" Height="33"/> 
      </Grid> 
     </Grid> 
    </Border> 
</Grid> 
+0

你的建議導致完全相反的我所需要的。我需要隱藏兩部分,未顯示。 – Hans 2011-01-30 19:53:39