Example #1
0
        public static T GetCommandFromCommandButtons <T>(object sender) where T : CommandModelBase
        {
            CommandListingButtonsControl commandListingButtonsControl = (CommandListingButtonsControl)sender;

            if (commandListingButtonsControl != null && commandListingButtonsControl.DataContext != null)
            {
                if (commandListingButtonsControl.DataContext is CommandModelBase)
                {
                    return((T)commandListingButtonsControl.DataContext);
                }
                else if (commandListingButtonsControl.DataContext is EventCommandItemViewModel)
                {
                    EventCommandItemViewModel commandItem = (EventCommandItemViewModel)commandListingButtonsControl.DataContext;
                    return((T)(CommandModelBase)commandItem.Command);
                }
                else if (commandListingButtonsControl.DataContext is StreamPassCustomLevelUpCommandViewModel)
                {
                    StreamPassCustomLevelUpCommandViewModel commandItem = (StreamPassCustomLevelUpCommandViewModel)commandListingButtonsControl.DataContext;
                    return((T)commandItem.Command);
                }
                else if (commandListingButtonsControl.DataContext is RedemptionStoreProductViewModel)
                {
                    RedemptionStoreProductViewModel commandItem = (RedemptionStoreProductViewModel)commandListingButtonsControl.DataContext;
                    return((T)commandItem.Command);
                }
                else if (commandListingButtonsControl.DataContext is GameOutcomeViewModel)
                {
                    GameOutcomeViewModel commandItem = (GameOutcomeViewModel)commandListingButtonsControl.DataContext;
                    return((T)(CommandModelBase)commandItem.Command);
                }
            }
            return(null);
        }
        protected void OutcomeCommandButtons_CommandButtons(object sender, RoutedEventArgs e)
        {
            GameOutcomeViewModel outcome = FrameworkElementHelpers.GetDataContext <GameOutcomeViewModel>(sender);

            if (outcome.Command != null)
            {
                CommandEditorWindow window = new CommandEditorWindow(outcome.Command);
                window.CommandSaved += (object s, CommandModelBase command) => { outcome.Command = (CustomCommandModel)command; };
                window.Show();
            }
        }