/// <summary> /// OSMigrationToolPopup constructor /// </summary> public OSMigrationToolPopup() { InitializeComponent(); Loaded += OSMigrationToolPopup_Loaded; Unloaded += OSMigrationToolPopup_Unloaded; clickContext = this; }
/// <summary> /// Opens an OSMigrationToolPopup /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OpenOSMigrationToolPopup() { var osMigrationToolPopup = new OSMigrationToolPopup { Owner = this }; osMigrationToolPopup.Left = Left + (Width / 2 - osMigrationToolPopup.Width / 2); var regToolsHeight = (int)osMigrationToolPopup.Height; osMigrationToolPopup.Height = 0; int topStart = (int)(Top + Height) + 30; osMigrationToolPopup.Top = topStart; var topFinal = (int)(Top + (Height / 2 - regToolsHeight / 2)); const int fullAnimationDuration = 300; int heightAnimationDuration = (fullAnimationDuration * regToolsHeight / (topStart - topFinal)); var slideUp = new DoubleAnimation { From = topStart, To = topFinal, Duration = new Duration(TimeSpan.FromMilliseconds(fullAnimationDuration)) }; osMigrationToolPopup.BeginAnimation(TopProperty, slideUp); var scaleUp = new DoubleAnimation { From = 0, To = regToolsHeight, Duration = new Duration(TimeSpan.FromMilliseconds(heightAnimationDuration)) }; osMigrationToolPopup.BeginAnimation(HeightProperty, scaleUp); osMigrationToolPopup.AnimateInnerBox(); osMigrationToolPopup.ShowDialog(); }