C# 如何仅在XAML中制作汉堡包菜单转换动画
我只想在XAML中创建汉堡包菜单转换动画。 我只找到了关于如何使用代码隐藏实现这一点的教程和示例。 但这是我想不惜一切代价避免的事情 这是动画的外观: XAML: 是否只使用XAML就可以获得相同的结果。 我不想为这个动画后面的任何代码 我知道如何为动画本身创建每个故事板。 但同一个按钮必须执行两个不同的故事板,C# 如何仅在XAML中制作汉堡包菜单转换动画,c#,wpf,xaml,animation,hamburger-menu,C#,Wpf,Xaml,Animation,Hamburger Menu,我只想在XAML中创建汉堡包菜单转换动画。 我只找到了关于如何使用代码隐藏实现这一点的教程和示例。 但这是我想不惜一切代价避免的事情 这是动画的外观: XAML: 是否只使用XAML就可以获得相同的结果。 我不想为这个动画后面的任何代码 我知道如何为动画本身创建每个故事板。 但同一个按钮必须执行两个不同的故事板, 取决于菜单的状态?这里是一个使用切换按钮的示例。由于ToggleButton内置了选中的/未选中的事件,因此可以使用EventTrigger中的事件来运行故事板 <Toggl
取决于菜单的状态?这里是一个使用
切换按钮的示例。由于ToggleButton
内置了选中的/未选中的事件,因此可以使用EventTrigger
中的事件来运行故事板
<ToggleButton ... >
<!-- Your menu icon XAML/rectangles go here -->
<ToggleButton.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource OpenMenu}" />
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="ToggleButton.Unchecked">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource CloseMenu}" />
</EventTrigger.Actions>
</EventTrigger>
</ToggleButton.Triggers>
</ToggleButton>
什么是“汉堡菜单过渡动画”?你能在你的问题中加入动画吗?
private void ButtonMenu_Click(object sender, RoutedEventArgs e)
{
if(StateClosed)
{
Storyboard sb = this.FindResource("OpenMenu") as Storyboard;
sb.Begin();
}
else
{
Storyboard sb = this.FindResource("CloseMenu") as Storyboard;
sb.Begin();
}
StateClosed = !StateClosed;
}
<ToggleButton ... >
<!-- Your menu icon XAML/rectangles go here -->
<ToggleButton.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource OpenMenu}" />
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="ToggleButton.Unchecked">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource CloseMenu}" />
</EventTrigger.Actions>
</EventTrigger>
</ToggleButton.Triggers>
</ToggleButton>