public static FrameworkElement GetHelpButton(string resourceKey, HelpButtonMode helpButtonMode, Uri iconSource, RelayCommand clickCommand) { string helpUri = GisEditor.LanguageManager.GetStringResource(resourceKey); return(HelpButtonHelper.GetHelpButton(helpUri, helpButtonMode, iconSource, clickCommand)); }
private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e) { featureLayers = new Collection <FeatureLayer>(featureLayers.Where(l => { var plugin = GisEditor.LayerManager.GetLayerPlugins(l.GetType()).FirstOrDefault() as FeatureLayerPlugin; return(plugin != null); }).ToList()); if (isEditable) { string helpUri = GisEditor.LanguageManager.GetStringResource("EditDataHelp"); HelpContainer.Content = HelpButtonHelper.GetHelpButton(helpUri, HelpButtonMode.IconOnly); } else { string helpUri = GisEditor.LanguageManager.GetStringResource("ViewDataHelp"); HelpContainer.Content = HelpButtonHelper.GetHelpButton(helpUri, HelpButtonMode.IconOnly); } LoadingUriColumnsDataViewerUserControlEventArgs args = new LoadingUriColumnsDataViewerUserControlEventArgs(); foreach (var item in linkColumnNames) { args.UriColumnNames.Add(item.Key, item.Value); } OnLoadingUriColumns(args); if (args.UriColumnNames.Count > 0) { foreach (var item in args.UriColumnNames) { linkColumnNames[item.Key] = item.Value; } } viewModel = new DataViewerViewModel(map, featureLayers, selectedFeatureLayer, isHighlightFeatureOnly, isEditable, linkColumnNames); this.deleteColumn.Visibility = viewModel.EditVisible; this.DataContext = viewModel; viewModel.EditDataChanges.CollectionChanged += EditDataChanges_CollectionChanged; scrollBar = GetVisualChild <ScrollBar>(dg); scrollBar.LostMouseCapture += new MouseEventHandler(scrollBar_LostMouseCapture); Window parentWindow = Parent as Window; ContextMenu contextMenu = new ContextMenu(); MenuItem exportItem = new MenuItem(); exportItem.Header = GisEditor.LanguageManager.GetStringResource("ViewDataExportButton"); exportItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorInfrastructure;component/Images/exporttoexcel.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; exportItem.Click += new RoutedEventHandler(ExportItem_Click); MenuItem menuItem = new MenuItem() { Header = GisEditor.LanguageManager.GetStringResource("DataViewerUserControlExportSelectedData") }; menuItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorInfrastructure;component/Images/exporttoexcel.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; menuItem.Click += new RoutedEventHandler(MenuItem_Click); MenuItem copyRowMenuItem = new MenuItem() { Header = GisEditor.LanguageManager.GetStringResource("DataViewerUserControlCopySelectedRowLabel") }; copyRowMenuItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorInfrastructure;component/Images/copytoexcel.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; copyRowMenuItem.Click += new RoutedEventHandler(CopyRowMenuItem_Click); MenuItem copyCellMenuItem = new MenuItem() { Header = GisEditor.LanguageManager.GetStringResource("DataViewerUserControlCopySelectedCellLabel") }; copyCellMenuItem.Icon = new Image { Source = new BitmapImage(new Uri("/GisEditorInfrastructure;component/Images/copytoexcel.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; copyCellMenuItem.Click += new RoutedEventHandler(CopyCellMenuItem_Click); contextMenu.Items.Add(exportItem); contextMenu.Items.Add(menuItem); contextMenu.Items.Add(copyRowMenuItem); contextMenu.Items.Add(copyCellMenuItem); dg.ContextMenu = contextMenu; if (parentWindow != null) { parentWindow.Closing += ParentWindow_Closing; } }
public static void OpenQuery() { if (!isOpen) { if (featureLayersDataSource == null) { featureLayersDataSource = new ObservableCollection <CheckableItemViewModel <FeatureLayer> >(); } var quickFindUserControl = new SimpleQueryUserControl { Margin = new Thickness(5) }; var advancedQueryUserControl = new AdvancedQueryUserControl(); foreach (var item in SavedConditions) { if (!advancedQueryUserControl.ViewModel.Conditions.Contains(item)) { advancedQueryUserControl.ViewModel.Conditions.Add(item); } } if (!advancedQueryUserControl.ViewModel.IsQueryMatchModeEnabled) { advancedQueryUserControl.ViewModel.SelectedQueryMatchMode = QueryMatchMode.Any; } var quickFindViewModel = quickFindUserControl.DataContext as SimpleQueryViewModel; if (quickFindViewModel != null) { quickFindViewModel.AddressToSearch = addressToSearch; foreach (var item in featureLayersDataSource) { var result = quickFindViewModel.AvailableFeatureLayers.FirstOrDefault(checkableItem => checkableItem.Value == item.Value); if (result != null) { result.IsChecked = item.IsChecked; } } } TabControl tabControl = new TabControl() { Width = 400, Height = 385 }; tabControl.Items.Add(new TabItem() { Content = quickFindUserControl, Header = GisEditor.LanguageManager.GetStringResource("FindFeaturesWindowQuickFindTab") }); tabControl.Items.Add(new TabItem() { Content = advancedQueryUserControl, Header = GisEditor.LanguageManager.GetStringResource("FindFeaturesWindowAdvancedQueryTab") }); tabControl.Margin = new Thickness(5); string helpUri = GisEditor.LanguageManager.GetStringResource("FindFeaturesHelp"); FrameworkElement helpButton = HelpButtonHelper.GetHelpButton(helpUri, HelpButtonMode.IconOnly); helpButton.HorizontalAlignment = HorizontalAlignment.Right; helpButton.VerticalAlignment = VerticalAlignment.Top; helpButton.Margin = new Thickness(0, 5, 5, 0); Grid tabControlContainer = new Grid(); tabControlContainer.Children.Add(tabControl); tabControlContainer.Children.Add(helpButton); instance = new QueryFeatureLayerWindow() { Title = GisEditor.LanguageManager.GetStringResource("FindFeaturesWindowTitle"), Content = tabControlContainer, ResizeMode = System.Windows.ResizeMode.NoResize, Style = Application.Current.FindResource("WindowStyle") as System.Windows.Style, SizeToContent = SizeToContent.WidthAndHeight, Tag = GisEditor.ActiveMap }; instance.Closing += (s, e) => { isOpen = false; SavedConditions.Clear(); foreach (var item in advancedQueryUserControl.ViewModel.Conditions) { SavedConditions.Add(item); } addressToSearch = quickFindViewModel.AddressToSearch; featureLayersDataSource.Clear(); foreach (var item in quickFindViewModel.AvailableFeatureLayers) { featureLayersDataSource.Add(item); } }; instance.Show(); isOpen = true; } }