<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Soul Solutions</title>
    <description>Tips and Tricks as we come across them</description>
    <link>http://www.soulsolutions.com.au/Blog/tabid/73/BlogId/1/Default.aspx</link>
    <language>en-AU</language>
    <webMaster>John@soulsolutions.com.au</webMaster>
    <pubDate>Sat, 04 Jul 2009 22:31:37 GMT</pubDate>
    <lastBuildDate>Sat, 04 Jul 2009 22:31:37 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.5.0.35082</generator>
    <geo:lat>-27.52441</geo:lat><geo:long>153.07804</geo:long><image><link>http://www.soulsolutions.com.au/Blog/tabid/73/BlogID/1/Default.aspx</link><url>http://www.soulsolutions.com.au/Portals/0/Skins/ss/SSlogo.gif</url><title>Soul Solutions</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SoulSolutions" type="application/rss+xml" /><feedburner:emailServiceId>SoulSolutions</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/SoulSolutions" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="https://intouch.particls.com/download/?mode=2&amp;feed=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="https://intouch.particls.com/resources/buttons/it-button2.gif">Subscribe with Particls</feedburner:feedFlare><feedburner:feedFlare href="http://www.addtoany.com/?linkname=Soul%20Solutions&amp;linkurl=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions&amp;type=feed" src="http://www.addtoany.com/addfr-b.gif">Add to Any Feed Reader</feedburner:feedFlare><feedburner:feedFlare href="http://www.fwicki.com/users/default.aspx?addfeed=http%3A%2F%2Ffeeds.feedburner.com%2FSoulSolutions" src="http://www.fwicki.com/images/ui/fwicki_clicklet.png">Subscribe with fwicki</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>List of links to all the SQL 2008 Spatial Methods</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="johnWeeGo[1]" border="0" alt="johnWeeGo[1]" src="/Portals/0/johnWeeGo.jpg" width="30" height="44" /&gt;I always struggle to find the full list of SQL 2008 Spatial methods for Geography when I need them so this is really just a helper post so I can find them again later but maybe it will help you also. Since they are case sensitive and don’t have intelisence I can never remember the syntax.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933967.aspx"&gt;STArea&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933912.aspx"&gt;STAsBinary&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933970.aspx"&gt;STAsText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933965.aspx"&gt;STBuffer&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933819.aspx"&gt;STDifference&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933840.aspx"&gt;STDimension&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933911.aspx"&gt;STDisjoint&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933808.aspx"&gt;STDistance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933905.aspx"&gt;STEndpoint&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933809.aspx"&gt;STEquals&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933849.aspx"&gt;STGeometryN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933837.aspx"&gt;STGeometryType&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933901.aspx"&gt;STIntersection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933962.aspx"&gt;STIntersects&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933983.aspx"&gt;STIsClosed&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933846.aspx"&gt;STIsEmpty&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933895.aspx"&gt;STLength&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933886.aspx"&gt;STNumGeometries&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933827.aspx"&gt;STNumPoints&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933844.aspx"&gt;STPointN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933887.aspx"&gt;STSrid&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933900.aspx"&gt;STStartPoint&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933903.aspx"&gt;STSymDifference&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933914.aspx"&gt;STUnion&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933884.aspx"&gt;AsGml&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933981.aspx"&gt;AsTextZM&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933987.aspx"&gt;BufferWithTolerance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933822.aspx"&gt;InstanceOf&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933959.aspx"&gt;IsNull&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933806.aspx"&gt;Lat&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933958.aspx"&gt;Long&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933966.aspx"&gt;M&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933812.aspx"&gt;NumRing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933830.aspx"&gt;RingN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933803.aspx"&gt;ToString&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933913.aspx"&gt;Z&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933834.aspx"&gt;STGeomFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933979.aspx"&gt;STPointFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933976.aspx"&gt;STLineFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933971.aspx"&gt;STPolyFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933997.aspx"&gt;STMPointFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933883.aspx"&gt;STMLineFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933816.aspx"&gt;STMPolyFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933919.aspx"&gt;STGeomCollFromText&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933897.aspx"&gt;STGeomFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933954.aspx"&gt;STPointFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933906.aspx"&gt;STLineFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933969.aspx"&gt;STPolyFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933984.aspx"&gt;STMPointFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933807.aspx"&gt;STMLineFromWKB&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933961.aspx"&gt;STMPolyFromWKB&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933842.aspx"&gt;GeomFromGML&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933956.aspx"&gt;Null&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933824.aspx"&gt;Parse&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933811.aspx"&gt;Point&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And from &lt;a title="http://sqlspatialtools.codeplex.com" href="http://sqlspatialtools.codeplex.com"&gt;http://sqlspatialtools.codeplex.com&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Functions&lt;/h3&gt; These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:  &lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;  &lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.  &lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that  &lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude  &lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not  &lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.  &lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;  &lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that  &lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid  &lt;br /&gt;geography SRID value is supplied. This function will not throw an exception even in  &lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;  &lt;br /&gt;Convert an input geometry instance to a valid geography instance.  &lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,  &lt;br /&gt;in that order and that a valid geography SRID value is supplied.  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;  &lt;br /&gt;Convert an input WKT to a valid geography instance.  &lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,  &lt;br /&gt;in that order and that a valid geography SRID value is supplied.  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;  &lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;  &lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).  &lt;br /&gt;This function does not require its input to be a valid geography. This function does require  &lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid  &lt;br /&gt;geography SRID value is supplied.  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;  &lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;  &lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.  &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;  &lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;  &lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.  &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;  &lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.  &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;  &lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.  &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;  &lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&gt; (y, x).  &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;  &lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.  &lt;h3&gt;Types&lt;/h3&gt; These types can be registered in SQL Server or used directly through the CLR.  &lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;  &lt;br /&gt;This class provides an extensible access point to various projections and inverse projections. See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use. Currently supported projections are:   &lt;ul&gt;   &lt;li&gt;Albers Equal Area &lt;/li&gt;    &lt;li&gt;Equirectangular &lt;/li&gt;    &lt;li&gt;Lambert Conformal Conic &lt;/li&gt;    &lt;li&gt;Mercator &lt;/li&gt;    &lt;li&gt;Oblique Mercator &lt;/li&gt;    &lt;li&gt;Tranverse Mercator &lt;/li&gt;    &lt;li&gt;Gnomonic&lt;/li&gt; &lt;/ul&gt;  &lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;  &lt;br /&gt;This provides general affine transformations. See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.  &lt;h3&gt;Aggregates&lt;/h3&gt;  &lt;p&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.   &lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;    &lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.    &lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;    &lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:38d5832e-1bf3-4764-a465-ce1b1e3e1787" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL2008" rel="tag"&gt;SQL2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Spatial" rel="tag"&gt;Spatial&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Geography" rel="tag"&gt;Geography&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Spatial+Toolkit" rel="tag"&gt;Spatial Toolkit&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=YsOZBc-opyw:LwiZRqlvnDI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=YsOZBc-opyw:LwiZRqlvnDI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=YsOZBc-opyw:LwiZRqlvnDI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=YsOZBc-opyw:LwiZRqlvnDI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=YsOZBc-opyw:LwiZRqlvnDI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/YsOZBc-opyw/List-of-links-to-all-the-SQL-2008-Spatial-Methods.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/8/default.aspx">Virtual Earth</category>
      <author>veblog@soulsolutions.com.au</author>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/613/List-of-links-to-all-the-SQL-2008-Spatial-Methods.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/613/List-of-links-to-all-the-SQL-2008-Spatial-Methods.aspx</guid>
      <pubDate>Fri, 03 Jul 2009 01:32:52 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=613</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/613/List-of-links-to-all-the-SQL-2008-Spatial-Methods.aspx</feedburner:origLink></item>
    <item>
      <title>Drawing a circle in Bing Maps</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="johnWeeGo[1]" border="0" alt="johnWeeGo[1]" src="/Portals/0/johnWeeGo.jpg" width="30" height="44" /&gt;I noticed my old code samples around the place are a little outdated so I created this little sample based off the &lt;a href="http://www.microsoft.com/maps/isdk/ajax/" target="_blank"&gt;Bing Maps iSDK&lt;/a&gt; today. This is a little helper function that calculates 360 points around the location provided at the given radius in KM. The co-ordinates are quite accurate and you will notice the effects of adding a circle at different Latitudes on the Mercator map.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="bingmapcircle" border="0" alt="bingmapcircle" src="/Portals/0/Blog/Files/8/612/WLW-DrawingacircleinBingMaps_14B29-bingmapcircle_d4f7090e-6b52-4a0f-8495-1d68b5dc5925.jpg" width="356" height="364" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Full source:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;!&lt;/span&gt;&lt;span style="color: #a31515"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red"&gt;html PUBLIC &lt;/span&gt;&lt;span style="color: blue"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;head&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;Circle Example Bing Maps&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;meta &lt;/span&gt;&lt;span style="color: red"&gt;http-equiv&lt;/span&gt;&lt;span style="color: blue"&gt;="Content-Type" &lt;/span&gt;&lt;span style="color: red"&gt;content&lt;/span&gt;&lt;span style="color: blue"&gt;="text/html; charset=utf-8" /&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&gt;
          var &lt;/span&gt;map = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
          &lt;span style="color: blue"&gt;var &lt;/span&gt;pinid = 0;

          &lt;span style="color: blue"&gt;function &lt;/span&gt;GetMap() {
              map = &lt;span style="color: blue"&gt;new &lt;/span&gt;VEMap(&lt;span style="color: #a31515"&gt;'myMap'&lt;/span&gt;);
              map.LoadMap();
              map.SetZoomLevel(2);
          }

          &lt;span style="color: blue"&gt;function &lt;/span&gt;AddPolyline() {
              &lt;span style="color: blue"&gt;var &lt;/span&gt;ll = map.GetCenter();
              &lt;span style="color: blue"&gt;var &lt;/span&gt;shape = &lt;span style="color: blue"&gt;new &lt;/span&gt;VEShape(VEShapeType.Polyline, getCircle(ll, 100));
              shape.SetTitle(&lt;span style="color: #a31515"&gt;'My circle'&lt;/span&gt;);
              shape.SetDescription(&lt;span style="color: #a31515"&gt;'This is shape number ' &lt;/span&gt;+ pinid);
              pinid++;
              map.AddShape(shape);
          }
          
          &lt;span style="color: blue"&gt;function &lt;/span&gt;getCircle(loc, radius) {
              &lt;span style="color: blue"&gt;var &lt;/span&gt;R = 6371; &lt;span style="color: green"&gt;// earth's mean radius in km
              &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;lat = (loc.Latitude * Math.PI) / 180; &lt;span style="color: green"&gt;//rad
              &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;lon = (loc.Longitude * Math.PI) / 180; &lt;span style="color: green"&gt;//rad
              &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;d = parseFloat(radius) / R;  &lt;span style="color: green"&gt;// d = angular distance covered on earth's surface
              &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;locs = &lt;span style="color: blue"&gt;new &lt;/span&gt;Array();
              &lt;span style="color: blue"&gt;for &lt;/span&gt;(x = 0; x &lt;= 360; x++) {
                  &lt;span style="color: blue"&gt;var &lt;/span&gt;p2 = &lt;span style="color: blue"&gt;new &lt;/span&gt;VELatLong(0, 0)
                  brng = x * Math.PI / 180; &lt;span style="color: green"&gt;//rad
                  &lt;/span&gt;p2.Latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(brng));
                  p2.Longitude = ((lon + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(lat), Math.cos(d) - Math.sin(lat) * Math.sin(p2.Latitude))) * 180) / Math.PI;
                  p2.Latitude = (p2.Latitude * 180) / Math.PI;
                  locs.push(p2);
              }
              &lt;span style="color: blue"&gt;return &lt;/span&gt;locs;
          }

      
      &lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;head&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;body &lt;/span&gt;&lt;span style="color: red"&gt;onload&lt;/span&gt;&lt;span style="color: blue"&gt;="GetMap();"&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;div &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;='myMap' &lt;/span&gt;&lt;span style="color: red"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;="&lt;/span&gt;&lt;span style="color: red"&gt;position&lt;/span&gt;:&lt;span style="color: blue"&gt;relative&lt;/span&gt;; &lt;span style="color: red"&gt;width&lt;/span&gt;:&lt;span style="color: blue"&gt;400px&lt;/span&gt;; &lt;span style="color: red"&gt;height&lt;/span&gt;:&lt;span style="color: blue"&gt;400px&lt;/span&gt;;&lt;span style="color: blue"&gt;"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;a &lt;/span&gt;&lt;span style="color: red"&gt;href&lt;/span&gt;&lt;span style="color: blue"&gt;='#' &lt;/span&gt;&lt;span style="color: red"&gt;onclick&lt;/span&gt;&lt;span style="color: blue"&gt;='AddPolyline();'&gt;&lt;/span&gt;Add Circle&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;a&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;body&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;If you’re after a full toolkit of useful functions for Bing Maps you should check out the awesome: &lt;a title="http://vetoolkit.codeplex.com/" href="http://vetoolkit.codeplex.com/"&gt;http://vetoolkit.codeplex.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1be7e9e2-daeb-40ad-ab1b-25580987c458" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Circle" rel="tag"&gt;Circle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Bing+Maps" rel="tag"&gt;Bing Maps&lt;/a&gt;&lt;/div&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MUIpxR6lAKU:FObIyrDYvSY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MUIpxR6lAKU:FObIyrDYvSY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MUIpxR6lAKU:FObIyrDYvSY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MUIpxR6lAKU:FObIyrDYvSY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MUIpxR6lAKU:FObIyrDYvSY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/MUIpxR6lAKU/Drawing-a-circle-in-Bing-Maps.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/8/default.aspx">Virtual Earth</category>
      <author>veblog@soulsolutions.com.au</author>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/612/Drawing-a-circle-in-Bing-Maps.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/612/Drawing-a-circle-in-Bing-Maps.aspx</guid>
      <pubDate>Wed, 01 Jul 2009 13:33:01 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=612</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/612/Drawing-a-circle-in-Bing-Maps.aspx</feedburner:origLink></item>
    <item>
      <title>Mapping Roadshow pictures</title>
      <description>&lt;p&gt;&lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30" /&gt;We were at the Bing Maps roadshow in both Brisbane and Sydney, 10 and 12 June. I’ve finally gotten around to posting a few of the pictures I took from the day in Brisbane.  This year the sessions were broken in to customer and partner focus.&lt;/p&gt;  &lt;p&gt;First up we had Peter Ulm, the ANZ Region Business Development Manager for Bing Maps for Enterprise, to do a bit of an intro and covered all the licensing details.&lt;/p&gt;  &lt;p&gt;&lt;img title="Peter Ulm" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="Peter Ulm" src="/Portals/0/Blog/Files/8/611/WLW-MappingRoadshowpictures_EB9A-IMG_1340_1.jpg" width="324" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Then &lt;a href="http://www.bing.com/community/blogs/maps/" target="_blank"&gt;Chris Pendleton&lt;/a&gt; handled the technical stuff. Chris is a Bing Maps Technical Evangelist from the US.  He came all the way here to do the roadshow and a session at Remix.&lt;/p&gt;  &lt;p&gt;&lt;img title="IMG_1341" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="IMG_1341" src="/Portals/0/Blog/Files/8/611/WLW-MappingRoadshowpictures_EB9A-IMG_1341_1.jpg" width="324" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;And finally John talked about our experience as a Bing Maps Partner.&lt;/p&gt;  &lt;p&gt;&lt;img title="IMG_1348" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="604" alt="IMG_1348" src="/Portals/0/Blog/Files/8/611/WLW-MappingRoadshowpictures_EB9A-IMG_1348_1.jpg" width="484" border="0" /&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:62a68a21-a13a-4453-9977-4be6f23f79a5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Bing+Maps" rel="tag"&gt;Bing Maps&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Roadshow" rel="tag"&gt;Roadshow&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Peter+Ulm" rel="tag"&gt;Peter Ulm&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Chris+Pendleton" rel="tag"&gt;Chris Pendleton&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=wF830UAFh68:i2D_YjCzAJA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=wF830UAFh68:i2D_YjCzAJA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=wF830UAFh68:i2D_YjCzAJA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=wF830UAFh68:i2D_YjCzAJA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=wF830UAFh68:i2D_YjCzAJA:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/wF830UAFh68/Mapping-Roadshow-pictures.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/8/default.aspx">Virtual Earth</category>
      <author>veblog@soulsolutions.com.au</author>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/611/Mapping-Roadshow-pictures.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/611/Mapping-Roadshow-pictures.aspx</guid>
      <pubDate>Wed, 01 Jul 2009 06:45:40 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=611</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/611/Mapping-Roadshow-pictures.aspx</feedburner:origLink></item>
    <item>
      <title>Getting your custom imagery onto Bing Maps with Global Mapper and the Cloud</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="johnWeeGo[1]" border="0" alt="johnWeeGo[1]" src="/Portals/0/johnWeeGo.jpg" width="30" height="44" /&gt;It is actually very easy to display gigabytes of custom imagery on Bing Maps with fantastic results, the trick is to know what tools to use. Read on for a streamlined process for the common geo image formats using &lt;a href="http://www.globalmapper.com/" target="_blank"&gt;Global Mapper&lt;/a&gt;, &lt;a href="http://spaceblock.codeplex.com/" target="_blank"&gt;SpaceBlock&lt;/a&gt;, &lt;a href="http://www.microsoft.com/azure/default.mspx" target="_blank"&gt;Windows Azure&lt;/a&gt; and a few helpful tips along the way.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="overlay" border="0" alt="overlay" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-overlay_db603bfb-e8c9-41b2-99fc-0e803e95a1a2.jpg" width="604" height="325" /&gt; &lt;/p&gt;  &lt;p&gt;At Bing Map’s core is the ability to render really large images in your browser. Both the AJAX, Silverlight and Mobile versions all use a concept of a tile pyramid to make this possible and effective over the web, you can read more about &lt;a href="http://msdn.microsoft.com/en-us/library/bb259689.aspx" target="_blank"&gt;the tile system in great detail here&lt;/a&gt;. Today we are going to look at a process I use to process custom imagery to overlay Bing maps.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="pyramid" border="0" alt="pyramid" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-pyramid_08ad2d08-93a0-4b9c-aecf-036a879588e0.jpg" width="310" height="182" /&gt; &lt;/p&gt;  &lt;p&gt;In the GIS field these custom images are called raster images and come in various file formats like GeoTiff and ECW. These formats have the images correctly “projected” and include the location co-ordinates. Since the world is not flat in order to view it on a flat surface, like Bing Maps 2D, all the data needs to be “projected” to the Mercator projection. If your custom imagery isn’t already projected and/or not in a Geo image format then the free &lt;a href="http://www.microsoft.com/maps/product/mapcruncher.aspx" target="_blank"&gt;MapCruncher&lt;/a&gt; tool that I will cover in my next post will be more useful for you. Lets assume you have your imagery ready to go in ECW or GeoTiff format.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.globalmapper.com/" target="_blank"&gt;Global Mapper&lt;/a&gt; is a very powerful GIS viewer and data convertor. It supports an amazing number of formats and can export directly to Bing Map tiles. You can open one or many of your ECW or GeoTiff files onto a layer an order as you like. The tool isn’t free but is quite inexpensive and a valuable tool for any Bing Maps developer, join their forums first and look for a discount code before you purchase. I’m going to use a built-in free online data source today so I can show you the results online royalty free and you can follow along.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="GlobalMapperWelcome" border="0" alt="GlobalMapperWelcome" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-GlobalMapperWelcome_81345ee3-1c8a-49dc-af2a-a6f4b663e8ce.jpg" width="552" height="364" /&gt; &lt;/p&gt;  &lt;h3&gt;Step 1. Set your projection.&lt;/h3&gt;  &lt;p&gt;On the title screen it is the fourth option or choose Tools –&gt; Configure. Under the project tab you will see:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="projection" border="0" alt="projection" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-projection_81972e2a-70ff-49b5-b955-8a5b0dc53be9.jpg" width="223" height="342" /&gt;  &lt;/p&gt;  &lt;p&gt;For Bing maps I will choose Mercator and WGS84.&lt;/p&gt;  &lt;h3&gt;Step 2. Load your data.&lt;/h3&gt;  &lt;p&gt;Again the welcome screen presents you with 3 options: Open your file, find data online or use a free online source. This is where you would load your GeoTiff or ECW.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DataSource" border="0" alt="DataSource" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-DataSource_5eb439f4-7dbe-4801-891b-c8c16619aeaa.jpg" width="604" height="386" /&gt;  &lt;/p&gt;  &lt;p&gt;For this article I used the free online data from the USGS using a 5 mile bounds from New York.&lt;/p&gt;  &lt;h3&gt;Step 3. Set a transparency colour and tolerance.&lt;/h3&gt;  &lt;p&gt;This one is a little tricky to find. Open the control centre (Alt-C) or Tools –&gt; Control Centre. Select your layer and click on Options. Under the Display tab you can select a colour to be transparent and also set small variations of the colour to also be transparent (useful on compressed images).&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="TransparentcySetting" border="0" alt="TransparentcySetting" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-TransparentcySetting_098aecac-cfba-4e19-8199-509b6ac675bd.jpg" width="604" height="447" /&gt;  &lt;/p&gt;  &lt;p&gt;This is important to get a seamless edge on your custom area but be aware that it could turn areas transparent that you don’t want. Once applied you will see that colour now changed to the default yellow background.&lt;/p&gt;  &lt;h3&gt;Step 4. Export as Virtual Earth tiles&lt;/h3&gt;  &lt;p&gt;From the File Menu choose Export Web Formats –&gt; Virtual Earth Tiles.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ExportFormats" border="0" alt="ExportFormats" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-ExportFormats_78afc41c-d86e-4acf-9598-922ae03dcfdb.jpg" width="604" height="399" /&gt;  &lt;/p&gt;  &lt;p&gt;With every increase in level you create four times the number of tiles then the previous layer. Ideally you should try to match the resolution of the source imagery. Set the number the zoom levels to output, it is easy to turn these off later so I normally export all but the top 4-5. For example here I choose level 16 as my highest since the resolution is pretty poor and 10 levels to export, this mean I will have levels 7-&gt;16 in Bing Maps. The export bounds can be set to the whole layer, the current screen or simply draw a box for the area you want.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VESettings" border="0" alt="VESettings" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-VESettings_7bcc4830-e482-42d4-bdd1-0f5fd2272936.jpg" width="216" height="321" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VESettings2" border="0" alt="VESettings2" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-VESettings2_569e9c08-f0f2-4b4f-8e62-85d9826dce3f.jpg" width="216" height="321" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dragbox" border="0" alt="dragbox" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-dragbox_08eac132-eadd-4a3d-9b77-3c6e004a4ee6.jpg" width="392" height="279" /&gt; &lt;/p&gt;  &lt;p&gt;The export process can take some time depending upon the IO performance of your system, I have global mapper setup on a second computer (actually my media centre PC with fast disks) and remote desktop in from my dev machine.&lt;/p&gt;  &lt;h3&gt;Step 5. Setup Azure storage&lt;/h3&gt;  &lt;p&gt;We need to host these tiles on the web, we need a system that is designed to serve many small files. I highly recommend using a cloud based service for this, you can evaluate Windows Azure currently for free. &lt;a href="http://www.microsoft.com/azure/default.mspx" target="_blank"&gt;Sign up here&lt;/a&gt;, it will take about 2-3 days to get your account. Once you have your account, setup a new storage account. You will need to know your storage account name and shared key for the next step. For a full tutorial on Azure see &lt;a href="http://blogs.msdn.com/katriend/archive/2009/01/04/windows-azure-installing-sdk-tools-and-creating-a-first-cloud-project.aspx" target="_blank"&gt;this awesome post from Katrien&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="azure" border="0" alt="azure" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-azure_11823504-85b9-42ad-9231-48389e7d2ae7.jpg" width="552" height="364" /&gt; &lt;/p&gt;  &lt;h3&gt;Step 6. Upload to Azure Blob Storage&lt;/h3&gt;  &lt;p&gt;I use &lt;a href="http://spaceblock.codeplex.com/" target="_blank"&gt;SpaceBlock&lt;/a&gt; to upload and explore Azure Blob Storage, it scales well and allows for multiple accounts.&lt;/p&gt;  &lt;p&gt;Under Tools –&gt; Options add your azure account using a key from step 5.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="spaceblock" border="0" alt="spaceblock" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-spaceblock_81c1321f-7ce6-4efd-afd4-767259e5aede.jpg" width="604" height="443" /&gt;  &lt;/p&gt;  &lt;p&gt;The Azure blob storage can be directly accessed using http, but you need to set the permissions on your container to be public.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="setaccessAzureModal" border="0" alt="setaccessAzureModal" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-setaccessAzureModal_19cd9388-9f49-4992-b79d-85acd2cc25bd.jpg" width="411" height="233" /&gt; &lt;/p&gt;  &lt;p&gt;The first level of folders in SpaceBlock for Azure are the Azure Containers, from their all the sub folders are just a neat naming trick that SpaceBlock handles for you. You need only set this permission on these top containers.&lt;/p&gt;  &lt;h3&gt;Step 7. Use in your application.&lt;/h3&gt;  &lt;p&gt;Now your tiles are public you need to add a tile layer to your application to show them. In the Silverlight CTP control you can do this in your code behind for a Map called “map”:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows;
&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.VirtualEarth.MapControl;

&lt;span style="color: blue"&gt;namespace &lt;/span&gt;SoulSolutions.TileExample
{
    &lt;span style="color: blue"&gt;public partial class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Page
    &lt;/span&gt;{
        &lt;span style="color: blue"&gt;public &lt;/span&gt;Page()
        {
            InitializeComponent();
            Loaded += Page_Loaded;
        }

        &lt;span style="color: blue"&gt;private void &lt;/span&gt;Page_Loaded(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)
        {
            &lt;span style="color: blue"&gt;var &lt;/span&gt;tileLayer = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;MapTileLayer&lt;/span&gt;();
            map.Children.Add(tileLayer);

            &lt;span style="color: green"&gt;//add the overlay
            &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;tileSource = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;LocationRectTileSource&lt;/span&gt;(
                &lt;span style="color: #a31515"&gt;"http://brisbane.blob.core.windows.net/tiles/nyDEM/{0}.png"&lt;/span&gt;,
                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;LocationRect&lt;/span&gt;(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Location&lt;/span&gt;(40.76026, -74.08459), &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Location&lt;/span&gt;(40.6874, -73.94211)),
                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Range&lt;/span&gt;&lt;&lt;span style="color: blue"&gt;double&lt;/span&gt;&gt;(7, 16));
            tileLayer.TileSources.Add(tileSource);

            map.SetView(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Location&lt;/span&gt;(40.71499, -74.00734), 14);
        }
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.soulsolutions.com.au/silverlight/sampletilelayer/" target="_blank"&gt;See live example here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the AJAX control you do this (complete page):&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;!&lt;/span&gt;&lt;span style="color: #a31515"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red"&gt;html PUBLIC &lt;/span&gt;&lt;span style="color: blue"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;head&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;SoulSolutions Tile Example AJAX&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;meta &lt;/span&gt;&lt;span style="color: red"&gt;http-equiv&lt;/span&gt;&lt;span style="color: blue"&gt;="Content-Type" &lt;/span&gt;&lt;span style="color: red"&gt;content&lt;/span&gt;&lt;span style="color: blue"&gt;="text/html; charset=utf-8" /&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&gt;
         var &lt;/span&gt;map = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
         &lt;span style="color: blue"&gt;var &lt;/span&gt;tileLayer;
         
         &lt;span style="color: blue"&gt;function &lt;/span&gt;GetMap()
         {
            map = &lt;span style="color: blue"&gt;new &lt;/span&gt;VEMap(&lt;span style="color: #a31515"&gt;'myMap'&lt;/span&gt;);
            map.LoadMap(&lt;span style="color: blue"&gt;new &lt;/span&gt;VELatLong(40.71499, -74.00734), 14, &lt;span style="color: #a31515"&gt;'a'&lt;/span&gt;, &lt;span style="color: blue"&gt;false&lt;/span&gt;);
            GetTiles();
         }   
         
         &lt;span style="color: blue"&gt;function &lt;/span&gt;GetTiles()
         {
             &lt;span style="color: blue"&gt;var &lt;/span&gt;bounds = [&lt;span style="color: blue"&gt;new &lt;/span&gt;VELatLongRectangle(&lt;span style="color: blue"&gt;new &lt;/span&gt;VELatLong(40.76026, -74.08459), &lt;span style="color: blue"&gt;new &lt;/span&gt;VELatLong(40.6874, -73.94211))];

            &lt;span style="color: blue"&gt;var &lt;/span&gt;tileSourceSpec = &lt;span style="color: blue"&gt;new &lt;/span&gt;VETileSourceSpecification(&lt;span style="color: #a31515"&gt;"lidar"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"http://brisbane.blob.core.windows.net/tiles/nyDEM/%4.png"&lt;/span&gt;);
            tileSourceSpec.NumServers = 1;
            tileSourceSpec.Bounds = bounds;
            tileSourceSpec.MinZoomLevel = 7;
            tileSourceSpec.MaxZoomLevel = 16;
            tileSourceSpec.Opacity = 0.8;
            tileSourceSpec.ZIndex = 100;

            map.AddTileLayer(tileSourceSpec, &lt;span style="color: blue"&gt;true&lt;/span&gt;);
         }  
      &lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
          &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;style &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/css"&gt;
    &lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;, &lt;span style="color: #a31515"&gt;body &lt;/span&gt;{
        &lt;span style="color: red"&gt;height&lt;/span&gt;: &lt;span style="color: blue"&gt;100%&lt;/span&gt;;
        &lt;span style="color: red"&gt;overflow&lt;/span&gt;: &lt;span style="color: blue"&gt;auto&lt;/span&gt;;
    }
    &lt;span style="color: #a31515"&gt;body &lt;/span&gt;{
        &lt;span style="color: red"&gt;padding&lt;/span&gt;: &lt;span style="color: blue"&gt;0&lt;/span&gt;;
        &lt;span style="color: red"&gt;margin&lt;/span&gt;: &lt;span style="color: blue"&gt;0&lt;/span&gt;;
    }
    &lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;head&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;body &lt;/span&gt;&lt;span style="color: red"&gt;onload&lt;/span&gt;&lt;span style="color: blue"&gt;="GetMap();"&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;div &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;='myMap' &lt;/span&gt;&lt;span style="color: red"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;="&lt;/span&gt;&lt;span style="color: red"&gt;position&lt;/span&gt;:&lt;span style="color: blue"&gt;relative&lt;/span&gt;; &lt;span style="color: red"&gt;width&lt;/span&gt;:&lt;span style="color: blue"&gt;100%&lt;/span&gt;; &lt;span style="color: red"&gt;height&lt;/span&gt;:&lt;span style="color: blue"&gt;100%&lt;/span&gt;;&lt;span style="color: blue"&gt;"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
   &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;body&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.soulsolutions.com.auhttp://www.soulsolutions.com.au/silverlight/sampletilelayer/ajax.htm" target="_blank"&gt;See live example here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And of coarse you can change to 3D mode and get this awesome effect:&lt;/p&gt;

&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3D" border="0" alt="3D" src="/Portals/0/Blog/Files/8/610/WLW-GettingyourECWcustomimageryontoBingMapsw_77BF-3D_eabc98d2-a989-4715-ad34-628283f2d2c9.jpg" width="604" height="325" /&gt;  &lt;/p&gt;

&lt;p&gt;In both examples you have to specify:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;URL to the tiles, with parameter to be replaced with quadkey filename&lt;/li&gt;

  &lt;li&gt;The bounds of the tile layer&lt;/li&gt;

  &lt;li&gt;The valid zoom levels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thankfully GlobalMapper produces a .htm file in its output path that will specify these settings for you. However I find it is a little generous and I then use &lt;a href="http://www.soulsolutions.com.au/Tools/LocationChooser.aspx" target="_blank"&gt;my location chooser&lt;/a&gt; to trim this down a little.&lt;/p&gt;

&lt;p&gt;I hope you enjoyed this article and feel inspired to tile out your own custom imagery and overlay on Bing Maps to enhance your application.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eecf65e7-cd92-4532-8429-7110cb4b0521" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Bing+Maps" rel="tag"&gt;Bing Maps&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Virtual+Earth" rel="tag"&gt;Virtual Earth&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Global+Mapper" rel="tag"&gt;Global Mapper&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SpaceBlock" rel="tag"&gt;SpaceBlock&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure" rel="tag"&gt;Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tiles" rel="tag"&gt;Tiles&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=4VuDkq9Crek:IhNuA5yH6Iw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=4VuDkq9Crek:IhNuA5yH6Iw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=4VuDkq9Crek:IhNuA5yH6Iw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=4VuDkq9Crek:IhNuA5yH6Iw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=4VuDkq9Crek:IhNuA5yH6Iw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/4VuDkq9Crek/Getting-your-custom-imagery-onto-Bing-Maps-with-Global-Mapper-and-the-Cloud.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/8/default.aspx">Virtual Earth</category>
      <author>veblog@soulsolutions.com.au</author>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/610/Getting-your-custom-imagery-onto-Bing-Maps-with-Global-Mapper-and-the-Cloud.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/610/Getting-your-custom-imagery-onto-Bing-Maps-with-Global-Mapper-and-the-Cloud.aspx</guid>
      <pubDate>Mon, 29 Jun 2009 06:19:05 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=610</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/610/Getting-your-custom-imagery-onto-Bing-Maps-with-Global-Mapper-and-the-Cloud.aspx</feedburner:origLink></item>
    <item>
      <title>Multiple Bing Maps with Blacklight</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="johnWeeGo" border="0" alt="johnWeeGo" src="/Portals/0/johnWeeGo.jpg" width="30" height="44" /&gt; I’ve been exploring some of the fantastic Silverlight panel systems out there and was blown away by the Drag Dock Panel in the &lt;a href="http://blacklight.codeplex.com/" target="_blank"&gt;open source Blacklight project&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Blacklight3" border="0" alt="Blacklight3" src="/Portals/0/Blog/Files/8/609/WLW-MultipleBingMapswithBlacklight_7545-Blacklight3_14b32215-d97d-4739-8c9f-25b2e2cb243c.jpg" width="600" height="328" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;See the full demo here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://soulsolutions.com.au/silverlight/blacklight/" href="http://soulsolutions.com.au/silverlight/blacklight/"&gt;http://soulsolutions.com.au/silverlight/blacklight/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It is very impressive and makes you rethink how you may design your next LOB Bing Maps application. The panel system lets you add as many elements as your like and then drag them around or impressively make one larger with the other stacked up:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Blacklight2" border="0" alt="Blacklight2" src="/Portals/0/Blog/Files/8/609/WLW-MultipleBingMapswithBlacklight_7545-Blacklight2_0b47d331-1fb7-4506-b7bd-207a72d39024.jpg" width="599" height="328" /&gt; &lt;/p&gt;  &lt;p&gt;Imagine a tracking application where you could allow the user to dynamically add new map panes and in real time track many assets individually.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Blacklight1" border="0" alt="Blacklight1" src="/Portals/0/Blog/Files/8/609/WLW-MultipleBingMapswithBlacklight_7545-Blacklight1_ac4bd1d6-1d89-4b51-b27a-ba9a1d55f37a.jpg" width="600" height="328" /&gt; &lt;/p&gt;  &lt;p&gt;There is no reason why the panels couldn’t be other controls like silverlight charts or dials. It could be a very impressive dashboard.&lt;/p&gt;  &lt;p&gt;The Blacklight project is available on codeplex: &lt;a title="http://blacklight.codeplex.com/" href="http://blacklight.codeplex.com/"&gt;http://blacklight.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/mgrayson/default.aspx" target="_blank"&gt;Martin Grayson&lt;/a&gt; appears to be the man behind it from Microsoft in the UK, awesome work!&lt;/p&gt;  &lt;p&gt;Here is a simple snippet of the xaml code to show how easy this is to use:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;UserControl &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Class&lt;/span&gt;&lt;span style="color: blue"&gt;="ExpandingPanel.Page"
    &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;="http://schemas.microsoft.com/winfx/2006/xaml" 
    &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;="clr-namespace:Blacklight.Controls;assembly=Blacklight.Controls" 
    &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;="clr-namespace:Microsoft.VirtualEarth.MapControl;assembly=Microsoft.VirtualEarth.MapControl" &gt;
    &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="LayoutRoot" &lt;/span&gt;&lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;="White"&gt;
        &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanelHost &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="dragDockPanelHost"&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;DraggingEnabled&lt;/span&gt;&lt;span style="color: blue"&gt;="False" &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 1"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 2"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 3"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 4"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 5"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="15" &lt;/span&gt;&lt;span style="color: red"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;="Map View 6"&gt;
                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;MapControl&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Map&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
        &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;controls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;DragDockPanelHost&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;UserControl&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;What application uses do you think this would be suitable for?&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MpwYOI5YZYU:WIav6Oyx66s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MpwYOI5YZYU:WIav6Oyx66s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MpwYOI5YZYU:WIav6Oyx66s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=MpwYOI5YZYU:WIav6Oyx66s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=MpwYOI5YZYU:WIav6Oyx66s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/MpwYOI5YZYU/Multiple-Bing-Maps-with-Blacklight.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/8/default.aspx">Virtual Earth</category>
      <author>veblog@soulsolutions.com.au</author>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/609/Multiple-Bing-Maps-with-Blacklight.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/609/Multiple-Bing-Maps-with-Blacklight.aspx</guid>
      <pubDate>Fri, 19 Jun 2009 22:20:38 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=609</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/609/Multiple-Bing-Maps-with-Blacklight.aspx</feedburner:origLink></item>
    <item>
      <title>Girl Geek Dinner 6 with Kay Lam-Beattie</title>
      <description>&lt;p&gt;&lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30" /&gt;For our July Girl Geek Dinner we're heading to The Hutch Bistro at New Farm and we're fortunate to have Kay Lam-Beattie as our guest speaker.  So gather all of your legal/IT questions to ask Kay on the night!&lt;/p&gt; &lt;a href="http://girlgeekdinnersbrisbane06.eventbrite.com"&gt;&lt;img src="http://www.eventbrite.com/static/images/button_ext/register_now.gif" border="0" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;img title="kay" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="244" alt="kay" src="/Portals/0/Blog/Files/9/608/WLW-GirlGeekDinner6withKayLamBeattie_11F1C-kay_3.jpg" width="164" align="left" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;About Kay:&lt;/p&gt;  &lt;p&gt;Kay graduated from QUT in 1992 with a Bachelor of Business (Accountancy) and an honours degree in Law. To obtain more specialised skills, Kay also completed a Masters in Law concentrating on the areas of intellectual property (IP) and IT-related legal issues, as well as a Graduate Certificate in IT.&lt;/p&gt;  &lt;p&gt;Kay has been the principal of IDEALAW (and its predecessor Legal Capital Lawyers) since 2005.&lt;/p&gt;  &lt;p&gt;Kay’s broadly based academic qualifications places her in an ideal position not only to understand the intricacies of her specialist areas of IT and IP related law, but also technical IT and business issues. Kay also speaks conversational Japanese, having lived and worked in Japan for a number of years.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Who is invited?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you are a geek and a girl or know of one who is willing to escort you then you are welcome and encouraged to come along. There is a technical focus with the intention of having fun and connecting with other women in IT.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Who pays for dinner?      &lt;br /&gt;&lt;/strong&gt;This month is not sponsored so you will have to pay for your own dinner &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Where + When&lt;/strong&gt;     &lt;br /&gt;Date: Thursday 2nd July, 2009     &lt;br /&gt;Time: 7:00 pm     &lt;br /&gt;Where: The Hutch Bistro&lt;/p&gt;  &lt;p&gt;75 Welsby Street, New Farm&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.thehutchbistro.com.au/food-wine.html"&gt;http://www.thehutchbistro.com.au/food-wine.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:655d3038-16d5-4d01-80be-f11d33a86372" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Girl+Geek+Dinners" rel="tag"&gt;Girl Geek Dinners&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Brisbane" rel="tag"&gt;Brisbane&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Kay+Lam-Beattie" rel="tag"&gt;Kay Lam-Beattie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WIT" rel="tag"&gt;WIT&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=zXgXLpCLJco:AnSsR7gpzZY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=zXgXLpCLJco:AnSsR7gpzZY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=zXgXLpCLJco:AnSsR7gpzZY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=zXgXLpCLJco:AnSsR7gpzZY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=zXgXLpCLJco:AnSsR7gpzZY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/zXgXLpCLJco/Girl-Geek-Dinner-6-with-Kay-Lam-Beattie.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/9/default.aspx">SoulSolutions - Live Services</category>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/608/Girl-Geek-Dinner-6-with-Kay-Lam-Beattie.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/608/Girl-Geek-Dinner-6-with-Kay-Lam-Beattie.aspx</guid>
      <pubDate>Tue, 16 Jun 2009 10:25:14 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=608</trackback:ping>
    <category domain="http://rss.financialcontent.com/stocksymbol">IP</category><feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/608/Girl-Geek-Dinner-6-with-Kay-Lam-Beattie.aspx</feedburner:origLink></item>
    <item>
      <title>Running the Messenger Samples</title>
      <description>&lt;p&gt;&lt;img title="PulseLogo96" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="100" alt="PulseLogo96" src="/Portals/0/Blog/Files/9/607/WLW-RunningtheMessengerSamples_E3F4-PulseLogo96_3.jpg" width="100" align="left" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30" /&gt;I downloaded the &lt;a href="http://messenger.mslivelabs.com/samples.zip" target="_blank"&gt;sample app&lt;/a&gt; for the &lt;a href="http://dev.live.com/messenger/" target="_blank"&gt;Windows Live Messenger&lt;/a&gt; bits in preparation for our talk at &lt;a href="http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/602/Speaking-at-Remix-2009.aspx" target="_blank"&gt;Remix&lt;/a&gt; next week.  If you haven’t played with it, the WebToolkit Sample site is a great starting place!  There’s a couple of things you have to do to get them running so I thought it’d be a good idea to write these down for others.&lt;/p&gt;  &lt;p&gt;Firstly, you’ll need an application id, so make sure you go to the Azure Services Developer Portal: &lt;a title="https://lx.azure.microsoft.com/Cloud/Provisioning/Default.aspx" href="https://lx.azure.microsoft.com/Cloud/Provisioning/Default.aspx"&gt;https://lx.azure.microsoft.com/Cloud/Provisioning/Default.aspx&lt;/a&gt; and create a new project with a Live Services: Existing APIs type. Make sure you remember the domain name and URL you chose e.g. I picked remixdemo.com.au and return URL of http://remixdemo.com.au/Messenger/Default.aspx and also note down your app_id and secret key as you’ll need them to run the samples.&lt;/p&gt;  &lt;p&gt;Make sure you add an entry in your hosts file for the domain you chose so you can run the application locally.  To do this open notepad as administrator, and open the hosts file located at C:\Windows\System32\drivers\etc and create an entry like: 127.0.0.1    remixdemo.com.au&lt;/p&gt;  &lt;p&gt;Next, I went to IIS and created a virtual directory called Messenger and pointed it to the SampleSite. To run the application I browsed to http://remixdemo.com.au/messenger/Default.aspx.&lt;/p&gt;  &lt;p&gt;Make sure you setup your site in the web.config to use your app_id, secret key and correct urls.  The one that caught me out was the app_provisioned_usertoken.  I was getting an exception in the User.cs class for consent.IsValid() until I set the value to empty string e.g. &lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;key&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;app_provisioned_usertoken&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;""&lt;span style="color: blue"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;add&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Make sure you set the app_logo to point to the pulse logo so your login screen has the correct image e.g.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;key&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;app_logo&lt;/span&gt;" 
     &lt;span style="color: red"&gt;value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;http://remixdemo.com.au/messenger/App_Images/PulseLogo.gif&lt;/span&gt;"&lt;span style="color: blue"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;add&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:148d53d0-9481-4a68-8888-1bd62e352e77" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Live+Messenger+Toolkit" rel="tag"&gt;Windows Live Messenger Toolkit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sample+App" rel="tag"&gt;Sample App&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Configuration" rel="tag"&gt;Configuration&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=kGeAwQ5QZBM:sddg7WC7rb0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=kGeAwQ5QZBM:sddg7WC7rb0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=kGeAwQ5QZBM:sddg7WC7rb0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=kGeAwQ5QZBM:sddg7WC7rb0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=kGeAwQ5QZBM:sddg7WC7rb0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/kGeAwQ5QZBM/Running-the-Messenger-Samples.aspx</link>
      <category domain="http://www.soulsolutions.com.au/blog/tabid/73/blogid/9/default.aspx">SoulSolutions - Live Services</category>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/607/Running-the-Messenger-Samples.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/607/Running-the-Messenger-Samples.aspx</guid>
      <pubDate>Sat, 06 Jun 2009 06:13:19 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=607</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/607/Running-the-Messenger-Samples.aspx</feedburner:origLink></item>
    <item>
      <title>Setting Fonts in WPF</title>
      <description>&lt;p&gt;&lt;font face="Vivaldi" size="6"&gt;&lt;strong&gt;Fonts &lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30" /&gt;&lt;/strong&gt;&lt;/font&gt; Setting fonts used to be a bit painful but I’ve found it quite easy in WPF.  In my project I’ve copied the font files into a directory structure: \Resources\Fonts and I have a font file masanreg.ttf which contains the font called MasonSansRegular.&lt;/p&gt;  &lt;p&gt;To use the font in Xaml if just reference the path to the font and the font name prefixed with a # e.g.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: red"&gt;FontFamily&lt;/span&gt;&lt;span style="color: blue"&gt;="./Resources/Fonts/#MasonSansRegular"&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;You can also see the list in Blend under the Text section&lt;/p&gt;

&lt;p&gt;&lt;img title="blendfonts" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="blendfonts" src="/Portals/0/Blog/Files/1/606/WLW-SettingFontsinWPF_9895-blendfonts_3.jpg" width="145" border="0" /&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b31ebe94-8927-4bdd-ab2f-904212eab6da" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fonts" rel="tag"&gt;Fonts&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=lv7BF3u7_J0:3vwzTPHmz5k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=lv7BF3u7_J0:3vwzTPHmz5k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=lv7BF3u7_J0:3vwzTPHmz5k:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=lv7BF3u7_J0:3vwzTPHmz5k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=lv7BF3u7_J0:3vwzTPHmz5k:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/lv7BF3u7_J0/Setting-Fonts-in-WPF.aspx</link>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/606/Setting-Fonts-in-WPF.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/606/Setting-Fonts-in-WPF.aspx</guid>
      <pubDate>Tue, 02 Jun 2009 00:51:06 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=606</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/606/Setting-Fonts-in-WPF.aspx</feedburner:origLink></item>
    <item>
      <title>Moving the current item in a ListBox</title>
      <description>&lt;p&gt;&lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30"&gt;I’ve been using ListBoxes with IsSynchronizedWithCurrentItem property set to True to do a lot of master/detail views recently.  When using MVVM with Command Pattern it’s wasn’t immediately obvious to me how to manipulate which item was selected when I added/removed etc from the list.&lt;/p&gt; &lt;p&gt;If I’ve just created a &lt;strong&gt;client&lt;/strong&gt; record and added it to my ObservableCollection of &lt;strong&gt;Clients&lt;/strong&gt; in my &lt;strong&gt;viewModel&lt;/strong&gt; I can use &lt;strong&gt;CollectionViewSource&lt;/strong&gt; to get a hold of the view and manipulate the current item e.g.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;CollectionViewSource&lt;/span&gt;.GetDefaultView(viewModel.Clients).MoveCurrentTo(client);&lt;/pre&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3610fdae-0d08-460f-80cd-47557b5ef03d" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CollectionViewSource" rel="tag"&gt;CollectionViewSource&lt;/a&gt;&lt;/div&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=nBLU7vo5WPo:aK41_jRDBNg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=nBLU7vo5WPo:aK41_jRDBNg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=nBLU7vo5WPo:aK41_jRDBNg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=nBLU7vo5WPo:aK41_jRDBNg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=nBLU7vo5WPo:aK41_jRDBNg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/nBLU7vo5WPo/Moving-the-current-item-in-a-ListBox.aspx</link>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/605/Moving-the-current-item-in-a-ListBox.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/605/Moving-the-current-item-in-a-ListBox.aspx</guid>
      <pubDate>Sun, 31 May 2009 03:33:24 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=605</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/605/Moving-the-current-item-in-a-ListBox.aspx</feedburner:origLink></item>
    <item>
      <title>Changing DataTemplates in WPF with DataTriggers</title>
      <description>&lt;p&gt;&lt;img height="40" src="/Portals/0/BronwenWeeGo.jpg" width="30" /&gt;I’ve come across a few times when I want to change the layout and contents of my screen depending on what data I have in my object. I’ve found DataTriggers really useful for this.  Based on a field being populated or not is can switch out the actual template I apply to the ContentTemplate e.g.&lt;/p&gt;  &lt;p&gt;    &lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTemplate &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="clientDetails"&gt;      &lt;br /&gt;        &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ContentPresenter &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="clientDetailsPresenter"      &lt;br /&gt;   &lt;/span&gt;&lt;span style="color: red"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource &lt;/span&gt;&lt;span style="color: red"&gt;clientSummary&lt;/span&gt;&lt;span style="color: blue"&gt;}"      &lt;br /&gt;   &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;}" /&gt;      &lt;br /&gt;      &lt;br /&gt;        &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTemplate.Triggers&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;      &lt;br /&gt;            &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTrigger &lt;/span&gt;&lt;span style="color: red"&gt;Binding&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;Binding&lt;/span&gt;&lt;span style="color: red"&gt;Client&lt;/span&gt;&lt;span style="color: blue"&gt;.&lt;/span&gt;&lt;span style="color: red"&gt;TFN&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: red"&gt;Value&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Null&lt;/span&gt;&lt;span style="color: blue"&gt;}"&gt;      &lt;br /&gt;                &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt;TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="clientDetailsPresenter"      &lt;br /&gt;           &lt;/span&gt;&lt;span style="color: red"&gt;Property&lt;/span&gt;&lt;span style="color: blue"&gt;="ContentTemplate"      &lt;br /&gt;           &lt;/span&gt;&lt;span style="color: red"&gt;Value&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource &lt;/span&gt;&lt;span style="color: red"&gt;clientFullDetails&lt;/span&gt;&lt;span style="color: blue"&gt;}" /&gt;      &lt;br /&gt;            &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTrigger&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;      &lt;br /&gt;        &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTemplate.Triggers&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;      &lt;br /&gt;      &lt;br /&gt;    &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DataTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;      &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The other spot I find this really useful is showing different data in a list when the item is Selected.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:97bcbc11-dc56-4598-8ac1-93a5583b46d9" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataTemplate" rel="tag"&gt;DataTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataTrigger" rel="tag"&gt;DataTrigger&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=IwX-HFCBbKA:lV2Zh9qtOOk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=IwX-HFCBbKA:lV2Zh9qtOOk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=IwX-HFCBbKA:lV2Zh9qtOOk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?i=IwX-HFCBbKA:lV2Zh9qtOOk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SoulSolutions?a=IwX-HFCBbKA:lV2Zh9qtOOk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SoulSolutions?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/SoulSolutions/~3/IwX-HFCBbKA/Changing-DataTemplates-in-WPF-with-DataTriggers.aspx</link>
      <comments>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/604/Changing-DataTemplates-in-WPF-with-DataTriggers.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/604/Changing-DataTemplates-in-WPF-with-DataTriggers.aspx</guid>
      <pubDate>Sun, 31 May 2009 03:26:43 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.soulsolutions.com.au/DesktopModules/Blog/Trackback.aspx?id=604</trackback:ping>
    <feedburner:origLink>http://www.soulsolutions.com.au/Blog/tabid/73/EntryId/604/Changing-DataTemplates-in-WPF-with-DataTriggers.aspx</feedburner:origLink></item>
  </channel>
</rss>
