using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging; using Tango.Core.Commands; using Tango.Scripting.IDE.ProjectTypes; using Tango.SharedUI; using Microsoft.WindowsAPICodePack.Dialogs; using Microsoft.Win32; namespace Tango.Scripting.IDE.Dialogs { public class NewProjectViewVM : BaseProjectDialogVM { static public ObservableCollection Locations { get; set; } = new ObservableCollection(); private String _solutionName = "App1"; public String SolutionName { get { return _solutionName; } set { _solutionName = value; RaisePropertyChangedAuto(); } } #region Commands public RelayCommand BrowseFileCommand { get; set; } #endregion public NewProjectViewVM() : base() { Title = "New Project"; if(Locations.IndexOf(ProjectLocation) < 0) { Locations.Add(ProjectLocation); } BrowseFileCommand = new RelayCommand(BrowseFile); } private void BrowseFile() { CommonOpenFileDialog dialog = new CommonOpenFileDialog(); dialog.InitialDirectory = Locations.LastOrDefault(); dialog.IsFolderPicker = true; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { if( Directory.Exists(dialog.FileName) == true) { if(false == Locations.Contains(dialog.FileName)) { Locations.Add(dialog.FileName); } ProjectLocation = dialog.FileName; } } } } }