private void OnNewResource(object sender, ExecutedRoutedEventArgs e)
        {
            var infoProvider = (IResourceInfoProvider)e.Parameter;
            var newFileName  = Path.Combine(SelectedDirectory.DirectoryInfo.FullName, infoProvider.ResourceType.Name + infoProvider.Extensions[0]);

            int count = 1;

            while (System.IO.File.Exists(newFileName))
            {
                newFileName = Path.Combine(SelectedDirectory.DirectoryInfo.FullName, infoProvider.ResourceType.Name + count++ + infoProvider.Extensions[0]);
            }


            infoProvider.SaveToDisk(new FileInfo(newFileName), null);
            OnRefreshResources(this, default(DependencyPropertyChangedEventArgs));

            CurrentFiles.ForEach(f => f.IsSelected = false);
            var newFile = CurrentFiles.First(f => f.Info.FullName == newFileName);

            newFile.IsSelected = true;
            newFile.IsEditing  = true;
        }
예제 #2
0
        private void OnNewResource(object sender, ExecutedRoutedEventArgs e)
        {
            var infoProvider = (IResourceInfoProvider)e.Parameter;
            var newFileName  = Path.Combine(SelectedDirectory.DirectoryInfo.FullName, infoProvider.ResourceType.Name + infoProvider.Extensions[0]);

            int count = 1;

            while (System.IO.File.Exists(newFileName))
            {
                newFileName = Path.Combine(SelectedDirectory.DirectoryInfo.FullName, infoProvider.ResourceType.Name + count++ + infoProvider.Extensions[0]);
            }

            CurrentFiles.ForEach(f => f.IsSelected = false);

            var newFile = FileFor(new FileInfo(newFileName));

            infoProvider.Save(Activator.CreateInstance(infoProvider.ResourceType), newFile.Info);

            newFile.IsSelected = true;
            newFile.IsEditing  = true;
            CurrentFiles.Add(newFile);
        }