2009-08-20 7 views
0

Je crée un comportement de glisser-déposer, et l'objectif est de faire glisser un élément sur ma grille, où un ensemble d'éléments décorés représentant les actions disponibles sera disponible pour l'utilisateur. déposez l'élément. Mon problème est une fois que j'ajoute le (s) élément (s) orné (s) à AdornerLayer, je ne reçois aucun événement Drag. J'ai besoin de ces événements à la fois pour modifier l'interface utilisateur et définir certaines propriétés sous-jacentes. J'ai défini AllowDrop = true sur AdornerLayer, l'élément orné, mon bouton dans le DataTemplate à l'intérieur du ContentPresenter et sur ContentPresenter lui-même, mais n'obtient toujours aucun événement.Ne pas recevoir d'événements glisser sur un élément orné

<DataTemplate x:Key="promoMediaTemplate" DataType="{x:Type media:PromoMediaSearchResult}"> 
<Button Content="{Binding Path=Description}" Name="item" AllowDrop="True" Background="Red"/
<DataTemplate.Triggers> 
    <EventTrigger RoutedEvent="Button.PreviewDragEnter"> 
     <BeginStoryboard x:Name="TextBeginStoryBoard"> 
      <Storyboard> 
       <ColorAnimation 
        Storyboard.TargetName="item" 
        Storyboard.TargetProperty="Background" 
        Duration="0:0:1.0" 
        From="Red" To="Green" /> 
      </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
    <EventTrigger RoutedEvent="Button.PreviewDragLeave"> 
     <StopStoryboard BeginStoryboardName="TextBeginStoryBoard" /> 
    </EventTrigger> 
    <EventTrigger RoutedEvent="Button.PreviewDrop"> 
     <StopStoryboard BeginStoryboardName="TextBeginStoryBoard" /> 
    </EventTrigger> 
</DataTemplate.Triggers> 

Répondre

Questions connexes