Beispiel #1
0
        internal void HandleWindowMessage(WindowActionMessage <LoaderViewModel> message)
        {
            if (this.CheckAccess() == false)
            {
                Dispatcher.Invoke(new Action(() => HandleWindowMessage(message)));
                return;
            }
            switch (message.Action)
            {
            case WindowActionType.Close:
                this.Close();
                break;

            case WindowActionType.Hide:
                this.Hide();
                break;

            case WindowActionType.Show:
                this.Show();
                break;

            case WindowActionType.SetMain:
                Application.Current.MainWindow = this;
                break;
            }
        }
Beispiel #2
0
 public void HandleWindowMessage <TVM, TWIN>(WindowActionMessage <TVM> message)
     where TVM : ViewModelBase
     where TWIN : Window
 {
     switch (message.Action)
     {
     case WindowActionType.Create:
         CreateWindow <TWIN>();
         break;
     }
 }
Beispiel #3
0
 internal void HandleWindowMessage(WindowActionMessage<MainViewModel> message)
 {
     if (this.CheckAccess() == false)
     {
         Dispatcher.Invoke(new Action(() => HandleWindowMessage(message)));
         return;
     }
     switch (message.Action)
     {
         case WindowActionType.Close:
             this.Close();
             break;
         case WindowActionType.Show:
             this.Show();
             break;
         case WindowActionType.SetMain:
             Application.Current.MainWindow = this;
             break;
     }
 }
Beispiel #4
0
 /// <summary>
 /// バインド先の Window を非同期でアクティブにします。
 /// </summary>
 /// <param name="self">ViewModel</param>
 /// <returns></returns>
 public async static Task ActiveAsync(this ViewModel self)
 {
     var mes = new WindowActionMessage(WindowAction.Active, "ActiveAsync");
     await self.Messenger.RaiseAsync(mes);
 }
Beispiel #5
0
        /// <summary>
        /// バインド先の Window をアクティブにします。
        /// </summary>
        /// <param name="self">ViewModel</param>
        public static void Active(this ViewModel self)
        {
            var mes = new WindowActionMessage(WindowAction.Active, "Active");

            self.Messenger.Raise(mes);
        }
Beispiel #6
0
        /// <summary>
        /// バインド先の Window を最小化します。
        /// </summary>
        /// <param name="self">ViewModel</param>
        public static void Minimize(this ViewModel self)
        {
            var mes = new WindowActionMessage(WindowAction.Minimize, "Minimize");

            self.Messenger.Raise(mes);
        }