MainPage.xaml.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using System.Windows; 6 using System.Windows.Controls; 7 using System.Windows.Controls.Primitives; 8 using ManagedCommon; 9 using WorkspacesEditor.Models; 10 using WorkspacesEditor.ViewModels; 11 12 namespace WorkspacesEditor 13 { 14 /// <summary> 15 /// Interaction logic for MainPage.xaml 16 /// </summary> 17 public partial class MainPage : Page 18 { 19 private MainViewModel _mainViewModel; 20 21 public MainPage(MainViewModel mainViewModel) 22 { 23 InitializeComponent(); 24 _mainViewModel = mainViewModel; 25 this.DataContext = _mainViewModel; 26 } 27 28 private /*async*/ void NewProjectButton_Click(object sender, RoutedEventArgs e) 29 { 30 _mainViewModel.EnterSnapshotMode(false); 31 } 32 33 private void EditButtonClicked(object sender, RoutedEventArgs e) 34 { 35 _mainViewModel.CloseAllPopups(); 36 Button button = sender as Button; 37 Project selectedProject = button.DataContext as Project; 38 _mainViewModel.EditProject(selectedProject); 39 } 40 41 private void DeleteButtonClicked(object sender, RoutedEventArgs e) 42 { 43 e.Handled = true; 44 Button button = sender as Button; 45 Project selectedProject = button.DataContext as Project; 46 selectedProject.IsPopupVisible = false; 47 48 _mainViewModel.DeleteProject(selectedProject); 49 } 50 51 private void MoreButton_Click(object sender, RoutedEventArgs e) 52 { 53 _mainViewModel.CloseAllPopups(); 54 e.Handled = true; 55 Button button = sender as Button; 56 Project project = button.DataContext as Project; 57 project.IsPopupVisible = true; 58 } 59 60 private void PopupClosed(object sender, object e) 61 { 62 if (sender is Popup p && p.DataContext is Project proj) 63 { 64 proj.IsPopupVisible = false; 65 } 66 } 67 68 private void LaunchButton_Click(object sender, RoutedEventArgs e) 69 { 70 e.Handled = true; 71 Button button = sender as Button; 72 Project project = button.DataContext as Project; 73 _mainViewModel.LaunchProject(project); 74 } 75 } 76 }