0
我正在创建拖放行为,目标是将项目拖到我的网格上,其中表示可用操作的一组装饰元素将可供用户使用放下元素。我的问题是一旦我将添加的元素添加到AdornerLayer中,我没有收到任何Drag事件。我需要让这些事件都改变UI并设置一些基础属性。我在AdornerLayer,装饰元素,ContentPresenter中DataTemplate内部的按钮和ContentPresenter本身上设置了AllowDrop = true,但仍然没有收到任何事件。未接受装饰元素上的拖动事件
<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>