Я работаю над 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
<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>