Design Goals

  1. To provide an easy to use, easy to learn developer friendly mapping toolbox for WPF (perhaps the best single reference describing what "easy to use" control is, and how to implement it is http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321246756)
  2. To be conceptually and technically compatible with SharpMap 2.0 design and API
  3. To be consistent and compatible with WPF control design spirit, in particular:
    1. To support WPF content model (e.g. being able to put a WPF control with specific geographic coordinates onto the map control)
    2. To utilize WPF framework services wherever possible instead of coding "home made" solutions
    3. To support pervasive data binding
    4. To support styling and templating
    5. To be markup friendly

Main Components

Core Level

  • SharpMap.Wpf.Rendering.dll. Implement the WPF specific rendering capabilities.
  • SharpMap.Wpf.Presentation.dll. Implement the WPF specific presentation, and basic interaction. The main class is MapView which implements IMapView2D.

High Level Controls

The main high-level entry point is the façade class MapControl. It is an ItemsControl, which items are MapLayers.
It will add mainly the following capabilities:
  1. Content Model - it is possible to add a FrameworkElement to MapControl, define on it geographical location by using attached properties.
  2. Markup support - can define either layers in markup e.g. by specifying a path to a shp file, by manually building FeatureLayer, etc..
  3. Commanding

If consist of the following assemblies
  • SharpMap.Wpf.dll
  • SharpMap.Wpf.Markup.dll


Last edited Apr 24, 2008 at 11:23 PM by blackrussian, version 6

Comments

No comments yet.