为什么我不能在事件触发器中放置一个Setter

Pet*_*erM 5 .net wpf styles

我试图为支持拖放的列表框添加一些可视化反馈.好像我应该能够将一些setter添加到EventSetter并完成.但是,事件排定器不支持setter.我是否真的必须制作故事板才能实现此行为?

微软对此的理性是什么?

   <Style TargetType="{x:Type ListBox}">
        <Style.Triggers>
             <EventTrigger RoutedEvent="DragEnter">
                 <!--WHy Can't i Add seters here? e.g.
                <Setter Property="ForeColor" Value="Red"> 
                -->
            </EventTrigger>
        </Style.Triggers>
    </Style>
Run Code Online (Sandbox Code Playgroud)

Rob*_*ney 7

setter不仅设置属性以响应状态更改,还会在状态更改时将属性还原为其先前的值.事件触发器没有"改变",所以使用setters就像把东西推到永远不会弹出的堆栈上.

在这种情况下,我认为一个更好的问题是"为什么没有IsDragOver财产?"