예제 #1
0
        /// <summary>
        /// Called when [startup].
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="StartupEventArgs" /> instance containing the event data.</param>
        private void OnStartup(object sender, StartupEventArgs e)
        {
            bool createdNew;
            _mutex = new Mutex(true, "LifeBoard", out createdNew);

            if (createdNew)
            {
                ConfigRepository.Open();

                string documentPath = ConfigRepository.Config.DocumentPath;

                if (Environment.GetCommandLineArgs().Length > 1)
                {
                    documentPath = Environment.GetCommandLineArgs()[1];
                }

                _board.OpenDocument(documentPath);

                ConfigRepository.SetDocumentPath(_board.DocumentPath);

                Global.UpdateResources(ConfigRepository.Config.Language);

                var viewModel = new MainViewModel(_board);
                var view = new MainView(viewModel);
                view.Show();
            }
            else
            {
                Process current = Process.GetCurrentProcess();

                foreach (Process process in Process.GetProcessesByName(current.ProcessName))
                {
                    if (process.Id != current.Id)
                    {
                        ShowWindow((int) process.MainWindowHandle, 3);
                        SetForegroundWindow(process.MainWindowHandle);
                        break;
                    }
                }
                Current.Shutdown();
            }
        }
예제 #2
0
 public MainView(MainViewModel viewModel)
 {
     InitializeComponent();
     DataContext = viewModel;
 }