void IModalService.CloseModal()
 {
     if (modalGrid.Children.Count > 0)
     {
         SimulatedWindow sw = modalGrid.Children[0] as SimulatedWindow;
         if (sw != null)
         {
             sw.Close();
         }
     }
 }
        private void NavigateModal(UserControl uc, string title, BackNavigationEventHandler backFromDialog, bool allowClose)
        {
            DoubleAnimation da = new DoubleAnimation(0.5, TimeSpan.FromMilliseconds(400).Duration());

            da.BeginTime = TimeSpan.FromMilliseconds(400);
            LayoutRoot.BeginAnimation(Grid.OpacityProperty, da);
            LayoutRoot.IsHitTestVisible = false;

            SimulatedWindow sw = new SimulatedWindow();

            sw.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
            sw.VerticalAlignment   = System.Windows.VerticalAlignment.Center;
            sw.Title      = title;
            sw.AllowClose = allowClose;

            sw.WindowContent = uc;
            modalGrid.Children.Clear();
            modalGrid.Children.Add(sw);

            _backFunctions.Push(backFromDialog);
        }