Commands

RadSideDrawer exposes a Commands collection that allows you to register SideDrawerCommand objects with each control's instance through the:

  • Commands property

Currently the RadSideDrawer supports SideDrawerCommands with the following Id:

GenerateAnimations : Executes each time the control needs to update its animations so you can get and modify them. The passed parameter is of type AnimationContext and it contains the following properties:

  • MainContentStoryBoard : This is the storyboard that holds the animations for the MainContent when it opens.
  • MainContentStoryBoardReverse : This is the storyboard that holds the animations for the MainContent when it closes.
  • DrawerStoryBoard : This is the storyboard that holds the animations for the Drawer when it opens.
  • DrawerStoryBoardReverse : This is the storyboard that holds the animations for the Drawer when it closes.

DrawerStateChanged : Executes when drawer changes its state.

Example

public class CustomCommand : SideDrawerCommand
{
    public CustomCommand()
    {
        this.Id = CommandId.GenerateAnimations;
    }
    public override bool CanExecute(object parameter)
    {
        return true;
    }

    public override void Execute(object parameter)
    {
        var context = parameter as AnimationContext;
        foreach (var item in context.MainContentStoryBoard.Children)
        {
            if(Storyboard.GetTargetProperty(item).Equals("Opacity"))
            {
                (item as DoubleAnimation).To = 0;
            }
        }
        this.Owner.CommandService.ExecuteDefaultCommand(CommandId.GenerateAnimations, context);
    }
}

<telerikPrimitives:RadSideDrawer>
    <telerikPrimitives:RadSideDrawer.Commands>
        <local:CustomCommand />
    </telerikPrimitives:RadSideDrawer.Commands>
</telerikPrimitives:RadSideDrawer>