我正在尝试将 Silverlight 项目移植到 WPF,该项目依赖触发器和操作在视觉状态下进行转换。
我知道这很有效,因为我以前做过,但是由于某种原因,在我当前的版本中,当我尝试将 GoToStateAction(继承自 System.Windows.Interactivity.TriggerAction)添加到 EventTrigger 操作集合时,我得到了错误“GoToStateAction”无法添加到“TriggerActionCollection”类型的集合或字典(正在寻找 System.Windows.TriggerAction)
我必须做什么才能让 WPF 中的 GoToStateAction 工作?我的目标是使用类似以下的东西:(基于原始的 silverlight 实现)
<Grid.Triggers>
<EventTrigger RoutedEvent="MouseLeave" SourceName="PART_DataWaveGrid">
<ei:GoToStateAction x:Name="MouseLeaveTrigger" StateName="Collapsed"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter" SourceName="PART_DataWaveGrid">
<ei:GoToStateAction x:Name="MouseEnterTrigger" StateName="Expanded"/>
</EventTrigger>
<EventTrigger RoutedEvent="Loaded">
<ei:GoToStateAction x:Name="LoadTrigger" StateName="Collapsed"/>
</EventTrigger>
</Grid.Triggers>
另外 - 第二个问题,EventName 不再存在于 EventTrigger 上,那么我应该改用什么?RoutedEvent 看起来可以满足需求,但我不确定。