我工作的一个C#WPF程序和我有一个抽屉式导航时未选中该复选框,当复选框被选中应关闭和打开
这是导航抽屉中的屏幕截图
我正在尝试使用DataTrigger来做到这一点。
这是XAML代码:
我的故事板:
<Window.Resources>
<Storyboard x:Key="OpenMenu">
<DoubleAnimation
Storyboard.TargetProperty="(Width)"
From="70"
To="350"
Duration="0:0:0.5" />
</Storyboard>
<Storyboard x:Key="CloseMenu">
<DoubleAnimation
Storyboard.TargetProperty="(Width)"
From="350"
To="70"
Duration="0:0:0.5" />
</Storyboard>
</Window.Resources>
和DataTrigger:
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Width" Value="350" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=CheckBox, Path=IsChecked}" Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource CloseMenu}" />
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=CheckBox, Path=IsChecked}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource OpenMenu}" />
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
还有复选框
<CheckBox Name="CheckBox" />
问题是导航抽屉保持打开状态。 当我选中CheckBox时,它会快速关闭并再次打开。
有什么想法吗?
编辑:
这是BionicCode回答后的代码:
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Width" Value="70" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=CheckBox, Path=IsChecked}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource OpenMenu}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource CloseMenu}" />
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>