User Tools

Site Tools


source_code_wpfdesktopeditionsample_quickfilter_linksource.zip

Source Code WpfDesktopEditionSample QuickFilter LinkSource.zip

App.xaml.cs

 using System;  
 using System.Windows;  
 
 namespace QuickFilters  
 {  
     /// <summary>  
     /// Interaction logic for App.xaml  
     /// </summary>  
     public partial class App : Application  
     {  
     }  
 }  
 
 

MainWindow.xaml.cs

 using System;  
 using System.Windows;  
 using System.Windows.Controls;  
 using ThinkGeo.MapSuite.Core;  
 using ThinkGeo.MapSuite.WpfDesktopEdition;  
 
 namespace QuickFilters  
 {  
     /// <summary>  
     /// Interaction logic for MainWindow.xaml  
     /// </summary>  
     public partial class MainWindow : Window  
     {  
         private AreaStyle filterStyle;  
 
         public MainWindow()  
         {  
             InitializeComponent();  
         }  
 
         private void Window_Loaded(object sender, RoutedEventArgs e)  
         {  
             //move wpfmap to usa.  
             wpfMap1.CurrentExtent = new RectangleShape(-130.5615234375, 63.193359375, -44.0771484375, 11.337890625);  
 
             wpfMap1.Overlays.Add(new WorldMapKitWmsWpfOverlay());  
 
             LayerOverlay layerOverlay = new LayerOverlay();  
             wpfMap1.Overlays.Add(layerOverlay);  
 
             //create a layer from shape file  
             ShapeFileFeatureLayer usstatesShapeFileLayer = new ShapeFileFeatureLayer(@"..\..\App_Data\USStates.shp");  
 
             //create DbfLinkSource and add it to layer  
             DbfLinkSource usstates = new DbfLinkSource(@"..\..\App_Data\USStates2.dbf", "usstates2", true);  
             usstatesShapeFileLayer.FeatureSource.LinkSources.Add(usstates);  
             usstatesShapeFileLayer.FeatureSource.LinkExpressions.Add(@"feature.STATE_NAME equals usstates2.STATE_NAME");  
 
             //add filter to style  
             filterStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.FromArgb(150, GeoColor.SimpleColors.LightBlue), GeoColor.SimpleColors.White);  
             filterStyle.Filters.Add(CreateFilterCondition());  
 
             //add style to layer  
             usstatesShapeFileLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = filterStyle;  
             usstatesShapeFileLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;  
 
             layerOverlay.Layers.Add(usstatesShapeFileLayer);  
         }  
 
         private void btnApply_Click(object sender, RoutedEventArgs e)  
         {  
             filterStyle.Filters.Clear();  
             filterStyle.Filters.Add(CreateFilterCondition());  
 
             wpfMap1.Refresh();  
         }  
 
         private string CreateFilterCondition()  
         {  
             return string.Format("{0}{1}{2}", txtFilterColumnName.Text,  
                             ((ComboBoxItem)cmbFilterCondition.SelectedItem).Content.ToString(),  
                             ((ComboBoxItem)cmbFilterValue.SelectedItem).Content.ToString());  
         }  
     }  
 }  
 
 
source_code_wpfdesktopeditionsample_quickfilter_linksource.zip.txt · Last modified: 2015/09/09 03:39 by admin