C# 为什么只工作一个数据触发器?
只有第二个DataTriggerCloseMenu起作用。如果我将secondCloseMenu与firstOpenMenu数据触发器交换,则OpenMenu触发器将工作,但Close将不工作。我需要两个触发器才能工作。将单个属性绑定到两个单独的DataTriggers中,如果多个DataTriggers只处理一个依赖性属性,则只有最后一个可用 建议将两个DataTrigger合并为一个C# 为什么只工作一个数据触发器?,c#,wpf,xaml,C#,Wpf,Xaml,只有第二个DataTriggerCloseMenu起作用。如果我将secondCloseMenu与firstOpenMenu数据触发器交换,则OpenMenu触发器将工作,但Close将不工作。我需要两个触发器才能工作。将单个属性绑定到两个单独的DataTriggers中,如果多个DataTriggers只处理一个依赖性属性,则只有最后一个可用 建议将两个DataTrigger合并为一个 <ControlTemplate.Triggers> <DataTrigger B
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding HamburgerMenu_IsOpen, Mode=OneWay}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource HamburgerMenuRectangles_OpenMenu}"/>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource HamburgerMenuRectangles_CloseMenu}"/>
</DataTrigger.ExitActions>
</DataTrigger>
</ControlTemplate.Triggers>
然后,当值为true时,Enteraction将调用,当值为false时,ExitActions将调用。在ExitAction中尝试StopStoryboard,如下所示:这应该可以回答您的问题:
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding HamburgerMenu_IsOpen, Mode=OneWay}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource HamburgerMenuRectangles_OpenMenu}"/>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource HamburgerMenuRectangles_CloseMenu}"/>
</DataTrigger.ExitActions>
</DataTrigger>
</ControlTemplate.Triggers>