2012-02-25 3 views
0

У меня есть шаблон, как это:Прослушивание кликов по определенному элементу в WPF?

<Style TargetType="{x:Type TabItem}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type TabItem}"> 
        <Grid> 
         <Border Name="Border" BorderBrush="#666" BorderThickness="1,1,1,0" CornerRadius="8,8,0,0" Margin="0,0,0,-1"> 
          <DockPanel> 
           <TextBlock x:Name="TabItemText" Foreground="#444" Padding="12 6 8 6" TextOptions.TextFormattingMode="Display"> 
             <ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header"/> 
           </TextBlock> 
           <Image Source="../Resources/TabCloseButton.png" Width="8" Margin="0 2 8 0" /> 
          </DockPanel> 
         </Border> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

Как вы можете видеть, я предназначаться TabItem, и наряду с добавлением некоторых стилей я также указать изображение, похожее на вкладке веб-браузера значок закрытия. Теперь, мой вопрос заключается в следующем: как я могу прослушивать клики по элементам табуляции и узнать, нажал ли пользователь на вкладке закрыть изображение, чтобы я мог фактически закрыть вкладку?

Так что, в сущности, я ищу функциональные возможности вкладки в браузере.

ответ

2

Вы можете использовать Button для этого:

<Button Command="{Binding CloseCommand}"> 
    <Image Source="../Resources/TabCloseButton.png" Width="8" Margin="0 2 8 0" /> 
</Button> 
+0

Интересно. Смогу ли я определить, на какую вкладку принадлежит кнопка? – Tower

+1

Да, если вы увидите режим просмотра вкладки «CloseCommand» на вкладке «clicked» – thumbmunkeys