Пример #1
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog menuSaveAs = new SaveFileDialog();
            menuSaveAs.Filter = "Text file (*.txt)|*.txt";
            if (menuSaveAs.ShowDialog() == true)
            {
                File.WriteAllText(menuSaveAs.FileName, "");
            }
            SaveNewFilePrompt.Close();

            MainWindow newWindow = new MainWindow();
            newWindow.Show();
            newWindow.fileName = menuSaveAs.FileName;
            newWindow.OpenFile(newWindow.fileName);
            newWindow.hasFileName = true;
            newWindow.textBlock.Text = newWindow.fileName;
        }
Пример #2
0
 private void MenuNew_Click(object sender, RoutedEventArgs e)
 {
     MainWindow newWindow = new MainWindow();
     newWindow.Show();
 }
Пример #3
0
        public override void OnFrameworkInitializationCompleted()
        {
            var mainWindowViewModel = new MainWindowViewModel();

            mainWindowViewModel.Serializer = new DockSerializer(typeof(ObservableCollection <>));

            var   factory = new NotepadFactory();
            IDock?layout  = null;

            if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
            {
                string path = Path.Combine(AppContext.BaseDirectory, "Layout.json");
                if (File.Exists(path))
                {
                    layout = mainWindowViewModel.Serializer.Load <RootDock>(path);
                }

                var mainWindow = new MainWindow
                {
                    DataContext = mainWindowViewModel
                };

                // TODO: Restore main window position, size and state.

                mainWindowViewModel.Factory = factory;
                mainWindowViewModel.Layout  = layout ?? mainWindowViewModel.Factory?.CreateLayout();

                if (mainWindowViewModel.Layout != null)
                {
                    mainWindowViewModel.Factory?.InitLayout(mainWindowViewModel.Layout);
                }

                mainWindow.Closing += (sender, e) =>
                {
                    if (mainWindowViewModel.Layout is IDock dock)
                    {
                        dock.Close();
                    }
                    // TODO: Save main window position, size and state.
                };

                desktopLifetime.MainWindow = mainWindow;

                desktopLifetime.Exit += (sennder, e) =>
                {
                    if (mainWindowViewModel.Layout is IDock dock)
                    {
                        dock.Close();
                    }
                    mainWindowViewModel.Serializer.Save(path, mainWindowViewModel.Layout);
                };
            }
            else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime)
            {
                var mainView = new MainView()
                {
                    DataContext = mainWindowViewModel
                };

                mainWindowViewModel.Factory = factory;
                mainWindowViewModel.Layout  = layout ?? mainWindowViewModel.Factory?.CreateLayout();

                if (mainWindowViewModel.Layout != null)
                {
                    mainWindowViewModel.Factory?.InitLayout(mainWindowViewModel.Layout);
                }

                singleViewLifetime.MainView = mainView;
            }
            base.OnFrameworkInitializationCompleted();
        }
Пример #4
0
 private void button1_Click(object sender, RoutedEventArgs e)
 {
     SaveNewFilePrompt.Close();
     MainWindow menuNew = new MainWindow();
     menuNew.Show();
 }