Für meine Anwendung will ich eine Art Hamburger Menu mit Animation machen.
Der restliche Aufbau des Windows aufs wesentliche begrenzt:
Die Animation vom
Von der Animation hatte ich mir erhofft, dass dadurch eine Art Overlay entsteht, also, dass sich das
Quasi so:
Mach ich wie immer was Einfaches falsch, oder geht das nicht so leicht?
XML-Quellcode
- <Window.Resources>
- <Storyboard x:Key="MenuOpen">
- <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)"
- Storyboard.TargetName="GridMenuSide"
- BeginTime="0:0:0"
- From="{Binding MenuSideWidthClosed}"
- To="{Binding MenuSideWidthOpen}"
- Duration="0:0:0.2">
- </DoubleAnimation>
- </Storyboard>
- <Storyboard x:Key="MenuClose">
- <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)"
- Storyboard.TargetName="GridMenuSide"
- BeginTime="0:0:0"
- From="{Binding MenuSideWidthOpen}"
- To="{Binding MenuSideWidthClosed}"
- Duration="0:0:0.3">
- </DoubleAnimation>
- </Storyboard>
- </Window.Resources>
- <Window.Triggers>
- <EventTrigger RoutedEvent="ButtonBase.Click"
- SourceName="CmdOpenMenu">
- <BeginStoryboard Storyboard="{StaticResource MenuOpen}" />
- </EventTrigger>
- <EventTrigger RoutedEvent="ButtonBase.Click"
- SourceName="CmdCloseMenu">
- <BeginStoryboard Storyboard="{StaticResource MenuClose}" />
- </EventTrigger>
- </Window.Triggers>
Der restliche Aufbau des Windows aufs wesentliche begrenzt:
Die Animation vom
GridMenuSide
läuft eigentlich so wie sie soll. Allerdings wird das Grid MainContent
über den Window-Rand hinausgeschoben durch die Animation.Von der Animation hatte ich mir erhofft, dass dadurch eine Art Overlay entsteht, also, dass sich das
GridMenuSide
über das MainContent
schiebt und es nicht verschiebt.Quasi so:
Mach ich wie immer was Einfaches falsch, oder geht das nicht so leicht?
Dumm ist der, der dumm ist. Nicht andersrum!