private void OKButton_Click(object sender, RoutedEventArgs e)
 {
     IDataErrorInfo errors = DataContext as IDataErrorInfo;
     if(errors != null)
     {
         if (errors.Error != null)
         {
             MessageWindow wnd = new MessageWindow(errors.Error,
                 MessageWindowImage.Warning, true);
             wnd.Owner = this;
             wnd.ShowDialog();
         }
         else
             this.DialogResult = true;
     }
 }
예제 #2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            // Получаем ссылку на текущий процесс
            Process thisProc = Process.GetCurrentProcess();
            // Проверить количество процессов с таким же именем
            if (Process.GetProcessesByName(thisProc.ProcessName).Length > 1)
            {
                MessageWindow wnd =
                    new MessageWindow("Программа уже запущена. Только одна копия программы может выполнятся в одно и то же время.", MessageWindowImage.Warning, true);
                wnd.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                wnd.ShowDialog();
                Application.Current.Shutdown();
                return;
            }

            base.OnStartup(e);
        }