private void Files_SelectionChanged(object sender, SelectionChangedEventArgs e) { FileDescriptor selectedItem = Files.SelectedItem as FileDescriptor; if (selectedItem == null) { return; } if (selectedItem.IsFolder) { btnOk.IsEnabled = false; CurrentFolderDepth++; Dispatcher.BeginInvoke(() => { getFiles(selectedItem.RelativePath); }); } else { UpNavigationItem upNavigationItem = selectedItem as UpNavigationItem; if (upNavigationItem != null) { CurrentFolderDepth--; string path = RelativeUrl; if (path != null) { int pos = path.LastIndexOf('/'); if (pos > -1) { path = path.Substring(0, pos); } else { path = null; } } Dispatcher.BeginInvoke(() => { getFiles(path); }); } else { btnOk.IsEnabled = true; } } Url = selectedItem.RelativePath; }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { FileDescriptor fileDescriptor = value as FileDescriptor; if (fileDescriptor != null) { UpNavigationItem upNavItem = value as UpNavigationItem; if (upNavItem != null) { return(new Uri("/ESRI.ArcGIS.Mapping.Builder;component/images/folderUp.png", UriKind.Relative)); } else { if (fileDescriptor.IsFolder) { return(new Uri("/ESRI.ArcGIS.Mapping.Builder;component/images/folder.png", UriKind.Relative)); } if (BuilderApplication.Instance.CurrentSite != null) { return(new Uri(string.Format("{0}/{1}", BuilderApplication.Instance.CurrentSite.Url.TrimEnd('/'), fileDescriptor.RelativePath), UriKind.Absolute)); } else { Template currentTemplate = BuilderApplication.Instance.CurrentTemplate; if (currentTemplate == null) { currentTemplate = BuilderApplication.Instance.Templates.FirstOrDefault(); } if (currentTemplate != null) { string url = string.Format("{0}/{1}", currentTemplate.BaseUrl.TrimEnd('/'), fileDescriptor.RelativePath); return(new Uri(url, UriKind.Absolute)); } } } } return(null); }
void client_GetFilesCompleted(object sender, GetFilesCompletedEventArgs e) { showHideProgressBar(true); if (e.Cancelled) { showHideProgressBar(true); return; } if (e.Error != null || e.Files == null) { showHideProgressBar(true); return; } ObservableCollection<FileDescriptor> items = e.Files; foreach (FileDescriptor item in items) item.DisplayName = makeFileNameUserFriendly(item.FileName); if (CurrentFolderDepth > 0) { UpNavigationItem upItem = new UpNavigationItem() { FileName = Strings.Up, DisplayName = Strings.Up, RelativePath = "..", }; if (items.Count > 0) items.Insert(0, upItem); else items.Add(upItem); } else { RelativeUrl = null; } showHideProgressBar(true); if (items.Count > 0) { foreach (var item in items) Files.Items.Add(item); NoFilesLabel.Visibility = Visibility.Collapsed; Files.Visibility = System.Windows.Visibility.Visible; Dispatcher.BeginInvoke(() => { FilesScrollViewer.ScrollToTop(); }); } else { NoFilesLabel.Visibility = Visibility.Visible; Files.Visibility = System.Windows.Visibility.Collapsed; } }
void client_GetFilesCompleted(object sender, GetFilesCompletedEventArgs e) { showHideProgressBar(true); if (e.Cancelled) { showHideProgressBar(true); return; } if (e.Error != null || e.Files == null) { showHideProgressBar(true); return; } ObservableCollection <FileDescriptor> items = e.Files; foreach (FileDescriptor item in items) { item.DisplayName = makeFileNameUserFriendly(item.FileName); } if (CurrentFolderDepth > 0) { UpNavigationItem upItem = new UpNavigationItem() { FileName = Strings.Up, DisplayName = Strings.Up, RelativePath = "..", }; if (items.Count > 0) { items.Insert(0, upItem); } else { items.Add(upItem); } } else { RelativeUrl = null; } showHideProgressBar(true); if (items.Count > 0) { foreach (var item in items) { Files.Items.Add(item); } NoFilesLabel.Visibility = Visibility.Collapsed; Files.Visibility = System.Windows.Visibility.Visible; Dispatcher.BeginInvoke(() => { FilesScrollViewer.ScrollToTop(); }); } else { NoFilesLabel.Visibility = Visibility.Visible; Files.Visibility = System.Windows.Visibility.Collapsed; } }