2015-01-12 10 views
0

У меня есть элемент управления, в котором в основном есть одно изображение (я добавлю позже). Я определил шаблон. Я хочу определить триггер для нажатия мыши, но я не смог найти в документации класс управления. Какое свойство я должен проверить для щелчка мыши.Мышь нажата триггер для управления

<Grid> 

    <Control x:key="Mycontrol" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center"> 
     <Control.Style> 
      <Style TargetType="{x:Type Control}"> 
       <Setter Property="Width" Value="220"/> 
       <Setter Property="Height" Value="540"/> 
       <Setter Property="IsHitTestVisible" Value="True"/> 

       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate > 
           <Grid> 
            <Image Source="Base.png" />          
           </Grid> 
         <ControlTemplate.Triggers> 

         <Trigger Property="XXXXXXX" Value="True"> 
            <Setter Property="Background" Value="Black"/> 
         </Trigger> 
         </ControlTemplate.Triggers> 
         </ControlTemplate> 
          </Setter.Value> 
         </Setter>       

      </Style> 

     </Control.Style> 
    </Control> 

</Grid> 

ответ

0

Если вы хотите «ловушка» триггер кнопки мыши, чтобы изменить некоторые другие свойства элемента управления, вы можете использовать EventTrigger.

<EventTrigger RoutedEvent="Mouse.MouseDown"> 
    <BeginStoryboard> 
     <Storyboard> 
      <ColorAnimation ... /> 
     </Storyboard> 
    </BeginStoryboard> 
</EventTrigger> 
0

Если вашему управлению необходимо ответить на щелчок мыши, всегда лучше использовать кнопку для этой цели. Свойство IsPressed определено в ButtonBase, которое полностью восполнит ваши потребности.

  <Style TargetType="Button"> 
       <Style.Triggers> 
        <Trigger Property="IsPressed" Value="True"> 
         <Setter Property="Background" 
           Value="Red" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
Смежные вопросы