hey mate, The Eventr SuperDeepZoom control (http://www.codeplex.com/eventr) uses parts and states too, all the overlays etc are thus fully templatable...
You might get (and set) some ideas from there. Cheers, Jordan. P.S. I'm looking forward to checking out the DeepEarth changes soon! From: [email protected] [mailto:[email protected]] On Behalf Of John OBrien Sent: Friday, 19 June 2009 10:00 AM To: [email protected] Subject: Designing a Silverlight control - DeepEarth Hey guys, Over at the DeepEarth project we are going through some big changes moving away from just being one big map control to becoming a toolkit of map controls and components. The idea is to support in theory any Silverlight map control including a lighter weight version of our own and the new Bing Maps control. Anyway we're trying to design a really good template to follow and would love your feedback / tips / advice / links. The wiki page is here: http://deepearth.codeplex.com/Wiki/View.aspx?title=Control%20Architecture But to summarise I'm looking at the Parts and State model but also a way to separate out the base map implementation from the control using an interface. The first example code I have committed is a Coordinate control, basically listens for the mousemove event and calls a method on the map to translate the pixel position of the mouse to Latitude/Longitude. I have used the parts and state model with the generic.xaml default, spotted most people seem to use constantly name constants for the values and all state changes seem to be called in one "GoToState" method. The key design decisions are: 1. Each control is a separate project 2. Each control has its own map interface class 3. Each specific map implementation for each control would be its own project. Although this appears to be a nightmare of potentially hundreds of projects, for an open source project (where we are encouraging everyone to come and contribute a control) the separation will hopefully make management easier. Thoughts? ________________________________ Support procedure: https://www.codify.com/lists/support List address: [email protected]<mailto:[email protected]> Subscribe: [email protected]<mailto:[email protected]> Unsubscribe: [email protected]<mailto:[email protected]> List FAQ: http://www.codify.com/lists/ozsilverlight Other lists you might want to join: http://www.codify.com/lists -------------------------------------------------------------------------------- Support procedure: https://www.codify.com/lists/support List address: [email protected] Subscribe: [email protected] Unsubscribe: [email protected] List FAQ: http://www.codify.com/lists/ozsilverlight Other lists you might want to join: http://www.codify.com/lists
