2011-01-30 3 views
3

Код ниже содержит простую сетку с кнопкой в ​​среднем столбце сетки. Ширина кнопки (по желанию) больше, чем столбец, в который помещается. Обратите внимание, что левая часть кнопки видна справа. Что мне нужно сделать, чтобы получить как левую, так и правую части кнопок невидимыми? Правая часть кнопки z находится под столбцом правой сетки, но левая часть кнопки находится z над столбцом левой сетки. Мне нужно, чтобы левая часть кнопки также была скрыта левой колонкой.Поведение ZOrder в сетке WPF?

Это упрощенная версия XAML, где я пытаюсь оживить «полосу фильма». Пленка должна быть размещена z-ниже левой и правой столбцов сетки, а 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

+0

@ Ханс - Извините, пропущенный. Попробуйте установить ClipToBounds в true. См. Пересмотренный ответ –

+0

Отлично, это сработало красиво :) Действительно вопрос начинающего WPF, который я вижу сейчас;) – Hans