WPF Animation verschiebt andere Controls/Elemente

  • WPF

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Schmittmuthelm.

    WPF Animation verschiebt andere Controls/Elemente

    Für meine Anwendung will ich eine Art Hamburger Menu mit Animation machen.

    XML-Quellcode

    1. <Window.Resources>
    2. <Storyboard x:Key="MenuOpen">
    3. <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)"
    4. Storyboard.TargetName="GridMenuSide"
    5. BeginTime="0:0:0"
    6. From="{Binding MenuSideWidthClosed}"
    7. To="{Binding MenuSideWidthOpen}"
    8. Duration="0:0:0.2">
    9. </DoubleAnimation>
    10. </Storyboard>
    11. <Storyboard x:Key="MenuClose">
    12. <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)"
    13. Storyboard.TargetName="GridMenuSide"
    14. BeginTime="0:0:0"
    15. From="{Binding MenuSideWidthOpen}"
    16. To="{Binding MenuSideWidthClosed}"
    17. Duration="0:0:0.3">
    18. </DoubleAnimation>
    19. </Storyboard>
    20. </Window.Resources>
    21. <Window.Triggers>
    22. <EventTrigger RoutedEvent="ButtonBase.Click"
    23. SourceName="CmdOpenMenu">
    24. <BeginStoryboard Storyboard="{StaticResource MenuOpen}" />
    25. </EventTrigger>
    26. <EventTrigger RoutedEvent="ButtonBase.Click"
    27. SourceName="CmdCloseMenu">
    28. <BeginStoryboard Storyboard="{StaticResource MenuClose}" />
    29. </EventTrigger>
    30. </Window.Triggers>


    Der restliche Aufbau des Windows aufs wesentliche begrenzt:

    XML-Quellcode

    1. <DockPanel>
    2. <Grid/> <!--Header-->
    3. <Grid/> <!--Bottom-->
    4. <Grid/> <!--GridMenuSide-->
    5. <Grid/> <!--MainContent-->
    6. </DockPanel>


    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!
    Hallo, das geht schon das es sich "drüberlegt", dann müsste aber das Menü ausserhalb es Dockpanels liegen.

    Grüße
    Sascha

    PS: Gehts dir drum das du aus Spaß sowas entwickeln willst oder warum nimmst du nix fertiges? z.b. von MahApps?
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    @Nofear23m Das Menü aus dem Dockpanel auszulagern werde ich als nächstes mal versuchen, danke schon mal.

    Nofear23m schrieb:

    Gehts dir drum das du aus Spaß sowas entwickeln willst oder warum nimmst du nix fertiges?

    Einerseits will ich natürlich einiges selber machen, einfach um mich zu verbessern und auch die Sachen besser zu verstehen, andererseits habe ich bei der Suche nach fertigen Controls bislang nichts passendes gefunden. Aber der Link von dir sieht vielversprechend aus, das werde ich mir mal zu Gemüte führen.

    @Joshi wie @Dksksm bereits geschrieben hat, einfach eine gewünschte "Kategorie" und Icon hinterher und bei Google was passendes aussuchen :thumbup:
    Dumm ist der, der dumm ist. Nicht andersrum!