/// <summary>
        /// Stack에 현재 올라가있는 UserControl의 Visibility를 Collapsed 시키고, Stack에 담긴 UserControl을 Pop 시킨다.
        /// </summary>
        public void PopCustomCtrl()
        {
            CustomControlModel userCtrl = customCtrlStack.Peek();

            if (userCtrl != null)
            {
                SetCustomCtrlVisible(userCtrl, Visibility.Collapsed);
                customCtrlStack.Pop();
                return;
            }
        }
 // UserControl의 Visibility를 설정.
 private void SetCustomCtrlVisible(CustomControlModel customCtrlModel, Visibility visibility)
 {
     customCtrlModel.Visibility = visibility;
 }
 /// <summary>
 /// UserControl을 미리 정의해둔 Stack에 Push 한 후, Visibility를 Visible로 설정.
 /// </summary>
 /// <param name="customCtrl"></param>
 public void PushCustomCtrl(CustomControlModel customCtrl)
 {
     customCtrlStack.Push(customCtrl);
     SetCustomCtrlVisible(customCtrl, Visibility.Visible);
 }
 /// <summary>
 /// 초기에 UserControl들을 설정해주기 위한 메서드.
 /// 관리하고자 하는 UserControl과 UserControl의 Type에 대한 정보를 인자로 넘겨 설정.
 ///
 /// [HOW TO USE] : MainWindow.xaml에 만든 UserControl들을 부른 후, MainWindow.xaml.cs에서 설정해 줄 것.
 /// </summary>
 /// <param name="userCtrl", 설정하고자 하는 UserControl></param>
 /// <param name="customCtrlType", 설정하고자 하는 UserControl의 Type></param>
 public void SetCustomCtrl(CustomControlModel userCtrl, CustomControlType customCtrlType)
 {
     userCtrl.userCtrlType = customCtrlType;
     customCtrlItems.Add(userCtrl);
     userCtrl.Visibility = Visibility.Collapsed;
 }