<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.infragistics.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Infragistics Community</title><link>http://blogs.infragistics.com/blogs/</link><description>Infragistics Community</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Setting up a XamDataChart to show data from an MSSQL Server using RIA Services</title><link>http://blogs.infragistics.com/blogs/kiril_matev/archive/2010/09/02/setting-up-a-xamdatachart-to-show-data-from-an-mssql-server-using-ria-services.aspx</link><pubDate>Thu, 02 Sep 2010 12:26:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248788</guid><dc:creator>[Infragistics] Kiril Matev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;You&amp;#39;re developing an application in Silverlight and you&amp;#39;d like to take advantage of &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;- the fast chart that features a variety of built-in series and trendlines, zooming and panning that&amp;rsquo;s a part of the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Overview" target="_blank"&gt;NetAdvantage for DataVisualization&lt;/a&gt; available in both &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf/data-visualization.aspx#Overview" target="_blank"&gt;WPF &lt;/a&gt;and &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Overview" target="_blank"&gt;Silverlight&lt;/a&gt;. However, your data sits in a corporate MSSQL Server, and you&amp;#39;d like to retrieve it and display it in the Silverlight applicaiton. This blogpost describes how to do just that - display your MSSQL data in the&amp;nbsp;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;The approach to achieve this uses &lt;a href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx" target="_blank"&gt;ADO.NET Entity Framework&lt;/a&gt; and &lt;a href="http://www.silverlight.net/getstarted/riaservices/" target="_blank"&gt;RIA Services&lt;/a&gt;. Please download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cd3191a1-def4-4caa-8120-1f0bbcf4bb05&amp;amp;displaylang=en" target="_blank"&gt;WCF&amp;nbsp;RIA services&lt;/a&gt; and the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=C4F02797-5F9E-4ACF-A7DC-C5DED53960A6&amp;amp;displaylang=en" target="_blank"&gt;RIA Services Toolkit&lt;/a&gt; to take advantage of this functionality. The approach was implemented as a &lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev.Setting+up+a+XamDataChart+to+show+data+from+an+MSSQL+Server+using+RIA+Services/XamDataChartRIA.zip" target="_blank"&gt;sample project&lt;/a&gt; built in Visual Studio 2010 and Silverlight 4, using a Microsoft SQL Server 2008 database. &lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev.Setting+up+a+XamDataChart+to+show+data+from+an+MSSQL+Server+using+RIA+Services/XamDataChartRIA.zip" target="_blank"&gt;Download it&lt;/a&gt; and follow as we go along. It uses the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;from &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Overview" target="_blank"&gt;NetAdvantage for Data Visualization for Silverlight&lt;/a&gt; 10.2 Service Release 1. Download a &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Downloads" target="_blank"&gt;trial here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;1. We&amp;rsquo;ll start by building a database on your Microsoft SQL Server 2008 database server that will be used in this sample. Please download the backed up database &lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev.Setting+up+a+XamDataChart+to+show+data+from+an+MSSQL+Server+using+RIA+Services/IGSampleDatabaseBackup.zip" target="_blank"&gt;here&lt;/a&gt;, and restore it on your database server. Open this link for a&amp;nbsp;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms177429.aspx"&gt;walkthrough&lt;/a&gt;&amp;nbsp;describing the restore process in detail. Once you do that you should have an IGSample database with a StockPrices table with more than 5800 records in it. 
&lt;/p&gt;
&lt;p&gt;2. In Visual Studio 2010, create a new Silverlight Application solution making sure that the &lt;strong&gt;Enable WCF RIA Services&lt;/strong&gt; checkbox is checked.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/CreateSLApplicationRIA.jpg"&gt;&lt;img border="0" src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/CreateSLApplicationRIA.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. In the&amp;nbsp;Server Explorer view in Visual Studio,&amp;nbsp;add a connection to the IGSample database on your MSSQL server, as shown below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/AddConnectionToMSSQL.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/AddConnectionToMSSQL.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4. Add an ADO.NET Entity Data Model object named IGModel.edmx to the server project (the project with a name ending in .Web, e.g. if you called your solution XamDataChartRIA, the server project is the XamDataChartRIA.Web project)&amp;nbsp;in the solution, click Add.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard0.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;5. Select Generate from database and click Next&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard1.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;6. Select the connection defined in the previous step and click Next.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard2.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;7. Select the StockPrices table from the list, set the model namespace value to IGSampleModel and click Finish.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard3.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DataModelWizard3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You should have an IGModel.edmx item in your server side-project. What we&amp;#39;ve done is we&amp;rsquo;ve created an entity model to wrap the data stored in the MSSQL server. 
&lt;/p&gt;
&lt;p&gt;8. Build the application, in order to enable us to reference the entity model in subsequent steps.&lt;/p&gt;
&lt;p&gt;9. Add a Domain Service Class item named IGDomainService.cs to the server project in the solution to expose the wrapped data to be consumed, click Add.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DomainService1.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DomainService1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;10. Select the StockPrices table in the entity data model, click OK.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DomainService2.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DomainService2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;11. In the Silverlight project (the&amp;nbsp;client-side project), open the designer view of the form where you&amp;#39;d like to place the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&lt;/a&gt;&amp;nbsp;showing your data&lt;/p&gt;
&lt;p&gt;12. From the Data sources window, drag the StockPrices table into the design surface of the XAML page. This will generate a DomainDataSource object which provides access to the data on the server part of the application and initializes a grid control to show this data. We need to do this in order to have the data source code generated for us. Let&amp;rsquo;s now remove the grid control from the code, and add a &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DragNDropDomainCxt1.jpg"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/DragNDropDomainCxt1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;13. Remove the grid control declaration from the XAML file 
&lt;/p&gt;
&lt;p&gt;14. Add references to &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;assemblies in the Silverlight project &amp;ndash; InfragisticsSL4.Controls.Charts.XamDataChart.v10.2.dll, InfragisticsSL4.DataVisualization.v10.2.dll, InfragisticsSL4.v10.2.dll, which are in the Silverlight DV DLLs folder in the sample project.&lt;/p&gt;
&lt;p&gt;15. Add a namespace reference in the form XAML code to be able to reference the&amp;nbsp;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&lt;/a&gt;:&lt;br /&gt;&lt;span style="white-space:pre;"&gt;&lt;span&gt;xmlns&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;igChart&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;clr-namespace:Infragistics.Controls.Charts;assembly=InfragisticsSL4.Controls.Charts.XamDataChart.v10.2&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;16. Declare a &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;in the form&amp;nbsp;with a date X-axis and a numeric Y-axis in the XAML code, showing a line series with High column values from the StockPrices table. The values from the Date column in the table will be used for labels along the X-axis.&lt;/p&gt;
&lt;pre&gt;&amp;lt;igChart:XamDataChart Name=&amp;quot;xamDataChart1&amp;quot; HorizontalZoomable=&amp;quot;True&amp;quot; VerticalZoomable=&amp;quot;True&amp;quot; HorizontalZoombarVisibility=&amp;quot;Visible&amp;quot; VerticalZoombarVisibility=&amp;quot;Visible&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;igChart:XamDataChart.Axes&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;igChart:CategoryDateTimeXAxis x:Name=&amp;quot;XAxis1&amp;quot; VerticalAlignment=&amp;quot;Top&amp;quot;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemsSource=&amp;quot;{Binding}&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;DateTimeMemberPath=&amp;quot;Date&amp;quot;&lt;/strong&gt; Label=&amp;quot;{}{Date:d}&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;igChart:NumericYAxis x:Name=&amp;quot;YAxis1&amp;quot;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/igChart:XamDataChart.Axes&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;igChart:XamDataChart.Series&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;igChart:LineSeries Title=&amp;quot;High&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XAxis=&amp;quot;{Binding ElementName=XAxis1}&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YAxis=&amp;quot;{Binding ElementName=YAxis1}&amp;quot; MarkerType=&amp;quot;None&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemsSource=&amp;quot;{Binding}&amp;quot; &lt;strong&gt;ValueMemberPath=&amp;quot;High&amp;quot;&lt;/strong&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/igChart:XamDataChart.Series&amp;gt;&lt;br /&gt;&amp;lt;/igChart:XamDataChart&amp;gt;&lt;/pre&gt;
&lt;p&gt;15. In order to have the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;display the stock price data, we need to reference the auto-generated DomainDataSource object in its DataContext property:&lt;/p&gt;
&lt;pre&gt;&amp;lt;igChart:XamDataChart &lt;br /&gt;   DataContext=&amp;quot;{Binding ElementName=stockPriceDomainDataSource, Path=Data}&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp; Name=&amp;quot;xamDataChart1&amp;quot;&amp;nbsp;HorizontalZoomable=&amp;quot;True&amp;quot; VerticalZoomable=&amp;quot;True&amp;quot; HorizontalZoombarVisibility=&amp;quot;Visible&amp;quot; VerticalZoombarVisibility=&amp;quot;Visible&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;16. Run the project &amp;ndash; you should see an empty chart while data is loaded from the server. After a couple of seconds or so, you should see the data being displayed into the&amp;nbsp;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&lt;/a&gt;. Here&amp;#39;s a screenshot of what it should look like:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/XamDataChartScreenshot.jpg"&gt;&lt;img border="0" src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/XamDataChartScreenshot.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Adding a Busy Indicator while data is being loaded&lt;/h4&gt;
&lt;p&gt;One refinement we can make at this stage is to use the BusyIndicator control from the Silvelright Toolkit to display a popup indicating to the user that data is being loaded, while graying out the chart area. Download the Silverlight toolkit from &lt;a href="http://silverlight.codeplex.com/)"&gt;http://silverlight.codeplex.com/&lt;/a&gt;&amp;nbsp;to take advantage of this functionality. 
&lt;/p&gt;
&lt;p&gt;1. Add a reference to the System.Windows.Controls.Toolkit assembly, and add a namespace reference to it in the XAML code:&lt;/p&gt;
&lt;pre&gt;xmlns:toolkit=&amp;quot;clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit&amp;quot;&lt;/pre&gt;
&lt;p&gt;2. Declare a BusyIndicator to contain the&amp;nbsp;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&amp;nbsp; &amp;lt;toolkit:BusyIndicator BusyContent=&amp;quot;Loading Data...&amp;quot; x:Name=&amp;quot;busyIndicator&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;igChart:XamDataChart ...&amp;gt;&lt;br /&gt;      ...&lt;br /&gt;      &amp;lt;/igChart:XamDataChart&amp;gt;&lt;br /&gt;  &amp;lt;/toolkit:BusyIndicator&amp;gt;&lt;/pre&gt;
&lt;p&gt;3. Set the busyIndicator IsBusy property to true in the InitializeComponent. This will show the indicator as busy at program startup 
&lt;/p&gt;
&lt;p&gt;4. Set the busyIndicator IsBusy property to false in the LoadedData event handler of the DomainDataSource, which was declared automatically when we added the data source. This will remove the user message once the data is loaded and the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;is ready for use.&lt;/p&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;These are all the steps necessary to setup an end-to-end Silverlight project using the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;to display your MSSQL server data. Follow these steps with confidence and take advantage of what the &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview" target="_blank"&gt;XamDataChart &lt;/a&gt;has to offer in your applications. 
&lt;/p&gt;
&lt;p&gt;If you have any questions, do not hesitate to email me at &lt;a href="mailto:kmatev@infragistics.com"&gt;kmatev@infragistics.com&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248788" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Data+Visualization/default.aspx">Data Visualization</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/XamDataChart/default.aspx">XamDataChart</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/database+server+data/default.aspx">database server data</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Entity+Data+Model/default.aspx">Entity Data Model</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Text Bevel Effect in Silverlight and WPF</title><link>http://blogs.infragistics.com/blogs/ux/archive/2010/09/01/text-bevel-effect-in-silverlight-and-wpf.aspx</link><pubDate>Wed, 01 Sep 2010 12:46:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248552</guid><dc:creator>Jeffrey Smith</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;If your a developer you may often over look design but there are some techniques you can use that take a small effort but produce big benefits. Here I&amp;#39;m going to show you how to use a Content Control to Create a Bevel Effect for your headers in your Silverlight or WPF Application. Lets get Started!&lt;/p&gt;
&lt;p&gt;In Blend Add a Content Control where you would like your text to be.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/1.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now Edit The template of your Content Control by Right Clicking &amp;gt; Edit Template &amp;gt; Edit a Copy&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/2.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Give Your Resource A Name I called mine BevelTextControlStyle and in this Case I will just add the definition in This Document.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/3.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First We will need to Group The [ContentPresenter] in A grid, Since Templates can only have one child. You can do this by Selecting the [ContentPresenter] and Hitting &amp;quot;Ctrl + G&amp;quot; or by Right Clicking the [ContentPresenter] and&amp;nbsp;Sekecting Group Into &amp;gt; Grid&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/4.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Inside Our&amp;nbsp;The Grid we just created&amp;nbsp;we are going to Add &lt;strong&gt;TWO &lt;/strong&gt;text blocks behind the Header. One TextBlock We will call Shadow the other Highlight.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/5.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/5.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We now need to offset our Shadow text Box and our [ContentPresenter]. Using The Margin Property We will Offset the [ContentPresenter] by 1 from the top and the Shadow by 2 from the top.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/6.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/6.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/7.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/7.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we will Change the Foreground Brush of Our Highlight Text Box and Shadow Text Block using a Transparent White and Black. In this case I choose a 10% White for my Highlight or &lt;strong&gt;#19FFFFFF &lt;/strong&gt;and a 40% Black for my Shadow or &lt;strong&gt;#66000000&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/8.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/8.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/9.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/9.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lastly, we just need to template bind the Text Property of Highlight and Shadow to Content. You can do that by clicking the box to the right of the text field under propertys and clicking Template Bind &amp;gt; Content. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/10.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/10.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By Editing the template and template&amp;nbsp;binding all the text boxes to the Content you can now just select the content control and change its content as well as Font size, Font Family, and Font Weight&amp;nbsp;and it will update both text boxes in the template and the [ContentPresenter].. You can still change the foreground color of Main Text without effecting the Shadow and Highlight&amp;nbsp;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/12.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/12.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/13.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/13.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I hope this makes you Applications more visually appealing!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248552" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/UX/default.aspx">UX</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/User+Experience/default.aspx">User Experience</category></item><item><title>Representing User Experience</title><link>http://blogs.infragistics.com/blogs/ux/archive/2010/08/31/representing-user-experience.aspx</link><pubDate>Tue, 31 Aug 2010 19:56:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248436</guid><dc:creator>[Infragistics] Joel Eden</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;How do we represent and communicate experiences?&lt;/p&gt;
&lt;p&gt;Such a seemingly simple question that hides a lot of complexity.&lt;/p&gt;
&lt;p&gt;Bill Buxton has a great exercise that he has people go through when he gives a talk about design. He tells each audience member to pull out a piece of paper and a pen or pencil.&lt;/p&gt;
&lt;p&gt;First, he asks everyone to draw their phone, just a quick sketch of the physical form of the phone in about 15 seconds. Pretty simple, right? Even if you can&amp;#39;t draw well at all, it&amp;#39;s not too hard to sketch out the rough form of your phone.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s what I did (...and don&amp;#39;t judge me...I can draw well enough to be a user experience architect...not an industrial designer...yet!):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/phone_5F00_sketch.jpg"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/phone_5F00_sketch.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next, he asks everyone to draw the user interface of their phone, again just taking 15 seconds or so. That&amp;#39;s pretty easy, too, right? I have an iPhone, so for me it was just a bunch of boxy little icons that represent apps:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/phone_5F00_ui.jpg"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ux/phone_5F00_ui.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ok, so here&amp;#39;s the third, and last thing he asks everyone to do: In just about the same time, just 15 seconds, draw the user experience of your phone. Whoah...not so easy, right?&lt;/p&gt;
&lt;p&gt;Why is this such a big issue...why is it so easy to sketch the form and interface of the phone, but so difficult to sketch out the experience? Buxton ends with stating how important it is for the future of experience design to have tools that make it as easy to do the third part as it currently is to do the first two.&lt;/p&gt;
&lt;p&gt;One of the main issues is that the first two (physical form and user interface) can be easily drawn as static images, but the third, experiences happen over time, space, and even social structures. People have the experience, the technology doesn&amp;#39;t.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So what are we to do?&lt;/p&gt;
&lt;p&gt;My basic answer is to look to forms of storytelling to use to try and get at good representations of the user&amp;#39;s experience, or what we call empathy. If I can&amp;#39;t represent user needs from their perspective, how can I hope to design for their needs? I typically use a scenario-based approach to design, using textual stories, and subsequent storyboards to try to represent more of the user&amp;#39;s perspective and experience.&lt;/p&gt;
&lt;p&gt;Storyboards used in the film and animation fields are great ways to show main points of interaction, while also describing some of the temporal elements. There are many great &lt;a href="http://www.amazon.com/Film-Directing-Shot-Visualizing-Productions/dp/0941188108/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1283284796&amp;amp;sr=8-1"&gt;books&lt;/a&gt; and websites out there on storyboarding. Some of the best examples come from early Disney movies, and &lt;a href="http://www.amazon.com/Walt-Disney-Animation-Studios-Archive/dp/1423107233/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1283284842&amp;amp;sr=1-1"&gt;Disney just released new books with archives of storyboards&lt;/a&gt; from early animation up through the most recent movies. I was amazed when I first learned how integral storyboarding is to the film process. For example, Pixar will typically spend at least two years just creating the story for a new film, just using low fidelity sketched storyboards. And their success has a lot to do with that...their films are all great stories. In a way, experience design is just like creating a great story for a movie, with the user being the main character.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m hoping that design tools start to support more of this type of thinking, better integrating early design representations like storyboards into the existing tools for wireframing, prototyping, etc. &lt;/p&gt;
&lt;p&gt;Please comment, or send me an email...I&amp;#39;d love to hear how you go about representing interaction over time, especially capturing the user&amp;#39;s experience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248436" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/UX/default.aspx">UX</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/User+Experience/default.aspx">User Experience</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/Design+Thinking/default.aspx">Design Thinking</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/Bill+Buxton/default.aspx">Bill Buxton</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/Sketching/default.aspx">Sketching</category><category domain="http://blogs.infragistics.com/blogs/ux/archive/tags/UX+Theory/default.aspx">UX Theory</category></item><item><title>BubbleSeries in XamDataChart</title><link>http://blogs.infragistics.com/blogs/anton_staykov/archive/2010/08/31/bubbleseries-in-xamdatachart.aspx</link><pubDate>Tue, 31 Aug 2010 13:01:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248322</guid><dc:creator>[Infragistics] Anton Staykov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;BubbleSeries exists in XamWebChart, however it is not supported out-of-the-box in XamDataChart. But it is very easy and straight forward to achieve a BubbleSeries visualization using ScatterSeries.&lt;/p&gt;
&lt;p&gt;Lets begin by creating a simple Silverlight Application. For the sake of simplicity I will add my data model right into the Silverlight application. Here is the definition of my type:&lt;/p&gt;
&lt;pre style="font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;ScatterModel&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;int&lt;/span&gt; SomeValueX { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;int&lt;/span&gt; SomeValueY { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;int&lt;/span&gt; SomeValueRadius { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;ScatterModel&lt;/span&gt;&amp;gt; GenerateSomeBulkData()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;Random&lt;/span&gt; rnd = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;Random&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;for&lt;/span&gt; (&lt;span style="color:blue;"&gt;int&lt;/span&gt; i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;yield&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;ScatterModel&lt;/span&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SomeValueX = i,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SomeValueY = (i + 5) * rnd.Next(10,20),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SomeValueRadius = (i) * rnd.Next(10,20)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;
&lt;p&gt;Nothing really special. Just a simple type with 3 properties, which can be bound to X-,Y-axis and a radius for the bubble.&lt;/p&gt;
&lt;p&gt;Next step is to add a Button to the page, so I can click on it and generate dummy data. In order to visualize my dummy data I will have to add a XamDataChart to my page:&lt;/p&gt;
&lt;pre style="font-family:consolas;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&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;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;dcBubbles&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Row&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericXAxis&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;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;axisX&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericYAxis&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;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;axisY&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ScatterSeries&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;scatterBubbles&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt; XAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;axisX&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt; YAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;axisY&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt; XMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;SomeValueX&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt; YMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;SomeValueY&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt; MarkerTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource&lt;/span&gt;&lt;span style="color:red;"&gt; MarkerTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As you see, I use ScatterSeries, and I am binding the XMemberPath and YMemberPath to the respective properties (SomeValueX, XomeValueY) of my underlying objects. The only not so trivial thing is to add a MarkerTemplate for that ScatterSeries. In that MarkerTemplate I am creating the actual Bubble, binding its Radius to the SomeValueRadius property of underlying data object:&lt;/p&gt;
&lt;pre style="font-family:consolas;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;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;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;MarkerTemplate&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;SomeValueRadius&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;SomeValueRadius&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:red;"&gt; Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Vertical&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;SomeValueX&lt;/span&gt;&lt;span style="color:blue;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;X-Value: {0}&amp;#39;&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;SomeValueY&lt;/span&gt;&lt;span style="color:blue;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Y-Value: {0}&amp;#39;&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;SomeValueRadius&lt;/span&gt;&lt;span style="color:blue;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Radius-Value: {0}&amp;#39;&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.15*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.7*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.15*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.04*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.4*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.56*&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Series&lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;ActualBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.7&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;False&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.7&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;#30000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;False&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.7&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;#50000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Row&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Column&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;False&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.7&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:red;"&gt; StartPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0, 0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; EndPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0, 1&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;#a0ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;0.0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;#00ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As simple as that! You can download the sample project and play around. In order to run the project you will need a &lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Overview"&gt;10.2 version of Infragistics Silverlight for Data Visualization&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248322" width="1" height="1"&gt;</description><enclosure url="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.24.83.22/XamDataChartBubleSeries.zip" length="26278" type="application/x-zip-compressed" /><category domain="http://blogs.infragistics.com/blogs/anton_staykov/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.infragistics.com/blogs/anton_staykov/archive/tags/XamDataChart/default.aspx">XamDataChart</category><category domain="http://blogs.infragistics.com/blogs/anton_staykov/archive/tags/Silverlight+DV/default.aspx">Silverlight DV</category></item><item><title>How to publish your Windows Azure application right from Visual Studio 2010</title><link>http://blogs.infragistics.com/blogs/anton_staykov/archive/2010/08/31/how-to-publish-your-windows-azure-application-right-from-visual-studio-2010.aspx</link><pubDate>Tue, 31 Aug 2010 10:58:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248300</guid><dc:creator>[Infragistics] Anton Staykov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Windows Azure is an emerging technology that will be gaining bigger share of our life as software developers or IT Pros. Using earlier releases of Windows Azure Tools for Visual Studio there was an almost painful process of deploying application into the Azure environment. The standard Publish process was creating Azure package and opens the Windows Azure portal for us to publish our package manually. This option still exists in Visual Studio 2010, and is the only option in Visual Studio 2008. However, there is a new, slick option that allows us to publish / deploy our azure package right from within Visual Studio. This post is around that particular option.&lt;/p&gt;
&lt;p&gt;Before we begin, let&amp;rsquo;s make sure we have installed the most recent version of &lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/go.microsoft.com/fwlink/?LinkId=128752"&gt;Windows Azure Tools for Visual Studio&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the purpose of the demo I will create very simple CloudDemo application. Just select &amp;ldquo;File&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;New&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;Project&amp;rdquo;, and then choose &amp;ldquo;Cloud&amp;rdquo; from &amp;ldquo;Installed Templates&amp;rdquo;. The only available template is &amp;ldquo;Windows Azure Cloud Service C#&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/01_5F00_NewProject.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/01_5F00_NewProject.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A new window will pop up, which is a wizard for initial configuring Roles for our service. Just add one ASP.NET Web Role:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/02_5F00_addWebRole.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/02_5F00_addWebRole.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Assuming this is our cloud project we want to deploy, let&amp;rsquo;s first pass the &lt;a href="http://blogs.infragistics.com/blogs/anton_staykov/archive/2010/06/30/windows-azure-web-role-deployment-checklist.aspx"&gt;Windows Azure Web Role deployment checklist&lt;/a&gt;, before we continue (it is a common mistake to miss configuring of DiagnosticsConnectionString setting of our WebRole).&lt;/p&gt;
&lt;p&gt;Now is time to publish our Windows Azure service with that single ASP.NET WebRole. There is initial configuration, that must be performed once. Then every time we go to publish a new version, it will be just a single click away!&lt;/p&gt;
&lt;p&gt;Right click on the Windows Azure Service project from our solution and choose &amp;ldquo;Publish&amp;rdquo; from the context menu:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$03_publishMenu[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/03_5F00_publishMenu.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/03_5F00_publishMenu.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This will popup a new window, that will help publish our project:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/04_5F00_publish_5F00_mainScreen.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/04_5F00_publish_5F00_mainScreen.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are two options to choose from: &lt;i&gt;Create Service Package Only&lt;/i&gt; and &lt;i&gt;Deploy your Cloud Service to Windows Azure&lt;/i&gt;. We are interested in the second one &amp;ndash; Deploy your Cloud Service to Windows Azure. Now we have to configure our credentials for deploying onto Windows Azure. The deployment process uses the Windows Azure managed API that works with client certificate authentication, and there is a neat option for generating client certificates for use with Windows Azure. From that window that is still open (Publish Cloud Service) open the drop down, which is right below &amp;ldquo;Credentials&amp;rdquo; and choose &amp;ldquo;Add &amp;hellip;&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$05_publish_mainScreen_addCredential[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/05_5F00_publish_5F00_mainScreen_5F00_addCredential.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/05_5F00_publish_5F00_mainScreen_5F00_addCredential.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Another window &amp;ldquo;Cloud Service Management Authentication&amp;rdquo; will open:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$06_publish_addCredentialWindow[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/06_5F00_publish_5F00_addCredentialWindow.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/06_5F00_publish_5F00_addCredentialWindow.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Within this window we will have to Create a certificate for authentication. Open the drop down and choose &amp;ldquo;&amp;lt;Create&amp;hellip;&amp;gt;&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$07_publish_addCredentialWindowCreate[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/07_5F00_publish_5F00_addCredentialWindowCreate.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/07_5F00_publish_5F00_addCredentialWindowCreate.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This option will automatically create certificate for us (we have to name it). Once the certificate is created, we select it from the drop down menu and proceed to step (2) of the wizard, which is uploading our certificate to the Windows Azure Portal. For this task, the wizard offers us an easy way of doing this by copying the certificate to a temp folder. By clicking on the &amp;ldquo;Copy the full path&amp;rdquo; link it (the full path) is automatically copied onto our clipboard:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$08_publish_addCredentialAlmostFinal[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/08_5F00_publish_5F00_addCredentialAlmostFinal.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/08_5F00_publish_5F00_addCredentialAlmostFinal.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now (do not close any window of Visual Studio 2010, just leave it as it is)&amp;nbsp;we have to log-in to the Windows Azure portal (&lt;a href="http://windows.azure.com/"&gt;http://windows.azure.com/&lt;/a&gt; ) and upload certificate to the appropriate project. First we must the project for which we will assign the certificate:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$09_AzurePortal_SelectProject[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/09_5F00_AzurePortal_5F00_SelectProject.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/09_5F00_AzurePortal_5F00_SelectProject.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then we click on the &amp;ldquo;Account&amp;rdquo; tab and navigate to the &amp;ldquo;Manage my API certificates&amp;rdquo; link:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$10_AzurePortal_Account[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/10_5F00_AzurePortal_5F00_Account.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/10_5F00_AzurePortal_5F00_Account.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here, we simply click browse and just paste the copied path to the certificate, then click Upload:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$11_AzurePortal_UploadCertificate[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/11_5F00_AzurePortal_5F00_UploadCertificate.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/11_5F00_AzurePortal_5F00_UploadCertificate.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please note, that there is a small chance of encountering an error of type &amp;ldquo;The certificate is not yet valid&amp;rdquo; during the upload process. If it happens you have wait for a minute or two and try to upload it again. The reason for this error is that your computer time might not me as accurate and synchronized, as Windows Azure server&amp;rsquo;s. Thus, your clock may be a minute or more ahead of actual time and your generated certificate is valid from point of time, which has not yet occurred on Windows Azure servers. When you upload the certificate you will see it in the list of installed certificates:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$13_AzurePortal_UploadedCertificate[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/13_5F00_AzurePortal_5F00_UploadedCertificate.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/13_5F00_AzurePortal_5F00_UploadedCertificate.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After you upload the certificate successfully to the Windows Azure server, you have to go back to the &amp;ldquo;Account&amp;rdquo; tab and copy the Subscription ID to your clipboard:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$12_AzurePortal_SubscibtinId[5].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/12_5F00_AzurePortal_5F00_SubscibtinId.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/12_5F00_AzurePortal_5F00_SubscibtinId.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Going back to Visual Studio&amp;rsquo;s &amp;ldquo;Cloud Service Management Authentication&amp;rdquo; window, you have to paste your subscription ID onto the field for it:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$14_publish_CloseToOK[2].png"&gt;&lt;/a&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/14_5F00_publish_5F00_CloseToOK.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/14_5F00_publish_5F00_CloseToOK.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At the last step of configuring our account, we have to define a meaningful name for it, so when we see in the drop down list of installed Credentials, we will know what service is this account for. For this project I chose the name &amp;ldquo;WindowsAzureCloudDemoCert&amp;rdquo;. When we are ready and hit OK button, we will go back to the &amp;ldquo;Publish Cloud Service&amp;rdquo; window, we will select &amp;ldquo;WindowsAzureCloudDemoCert&amp;rdquo; from Credentials drop down. An authentication attempt will be made to the Azure service to validate Credentials. If everything is fine we will see details for our account, such as Account name, Slots for deployment (production &amp;amp; stating), Storage accounts associated with that service account:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$15_publish_OK[2].png"&gt;&lt;/a&gt; &lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/15_5F00_publish_5F00_OK.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/15_5F00_publish_5F00_OK.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you hit OK a publish process will start. A successfull publish process finishes for about 10 minutes. A friendly window within Visual Studio &amp;ldquo;Windows Azure Activity Log&amp;rdquo; will show the process steps and history:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/controlpanel/blogs/posteditor.aspx/$16_published[2].png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/16_5F00_published.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/anton_5F00_staykov.Azure+Publish/16_5F00_published.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Well, as I said there is initial process of configuring credentials. Once you set up everything all right, the publish process will be just choosing the credentials and Hosted Service Slot for deployment (production or staging).&lt;/p&gt;
&lt;p&gt;Have a great time developing for Windows Azure!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248300" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/anton_staykov/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.infragistics.com/blogs/anton_staykov/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Symbolization of Elements in XamMap</title><link>http://blogs.infragistics.com/blogs/mihail_mateev/archive/2010/08/31/symbolization-of-elements-in-xammap.aspx</link><pubDate>Tue, 31 Aug 2010 10:37:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248308</guid><dc:creator>[Infragistics] Mihail Mateev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Custom symbolization for the map elements in XamMap component is a common case .&lt;/p&gt;
&lt;p&gt;The solution often is to use a Value Template for the specific MapLayer.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;By default position of the symbol is in the center of the bounding rectangle of the multi-polygons.&lt;br /&gt;It is possible to have a symbol outside of the polylines, included in the multi-polygons, representing surface elements.&lt;/p&gt;
&lt;p&gt;Sample demo application demonstrates how to change a position of the MapElement Symbol into the Centroid (x = Sum(point[i].X/n, y= Sum(y[i]/n) where n is the number of points for the polyline with a biggest area from all polylines in the map element).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Demo application:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Demo application will be created for Silverlight. It is possible to make a similar one for WPF.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To be possible to build demo applications you need to install:&lt;/p&gt;
&lt;p&gt;SQL Server 2008 R2 Express or higher license.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/express/Database/InstallOptions.aspx"&gt;http://www.microsoft.com/express/Database/InstallOptions.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;NetAdvantage for Silverlight Data Visualization 2010 vol.2 &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Downloads"&gt;http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Downloads&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Steps to create a demo application:&lt;/p&gt;
&lt;p&gt;Steps to create a demo application:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a base Silverlight application, using XamMap and &lt;br /&gt;data from SQL Server 2008 Spatial.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Add a custom ValueTemplate for a MapLayer, named &amp;quot;world&amp;quot;:&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Add an Event Handler for the MapLayer.Imported event and calculate in its implementation a new position for MapElement.SymbolOrigin property:&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Change the size of the symbols, depending of the value:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;Implementation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create a base Silverlight application, using XamMap and data from SQL Server 2008 Spatial.&lt;/strong&gt; &lt;br /&gt;Demo application is based on a demo, used for the article:&lt;br /&gt;&amp;quot;Using Infragistics XamMap Silverlight/WPF control with SQL Server Spatial&amp;quot;:&lt;br /&gt;&lt;a href="http://community.infragistics.com/blogs/mihail_mateev/archive/2010/08/06/using-infragistics-xammap-silverlight-wpf-control-with-sql-server-spatial.aspx"&gt;http://community.infragistics.com/blogs/mihail_mateev/archive/2010/08/06/using-infragistics-xammap-silverlight-wpf-control-with-sql-server-spatial.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can download code from this article here: &lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/SQLSpatialDemo.zip"&gt;http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/SQLSpatialDemo.zip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add a custom value template for a MapLayer, named &amp;quot;world&amp;quot;:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Brushes&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#4C2C42C0 #4C218B93 #4CDC1C1C #4C3D7835 #4C701B51&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FillMode&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Choropleth&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; WorldRect&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=MainWindow,&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=WorldRect}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Name=Name;Value=Value;Caption=Value&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; VisibleFromScale&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.Reader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SqlShapeReader&lt;/span&gt;&lt;span style="color:red;"&gt; DataMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Data=geom; Name=CNTRY_NAME; Value=POP_CNTRY; Caption=CNTRY_NAME; ToolTip=CNTRY_NAME&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SqlShapeReader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.Reader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueScale&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearScale&lt;/span&gt;&lt;span style="color:red;"&gt; IsAutoRange&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;True&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueScale&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;20&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;20&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:red;"&gt; CornerRadius&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;4&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; BorderBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bisque&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; BorderThickness&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Background&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Beige&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Padding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;8&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;12&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; FontWeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bold&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=ToolTip,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Location: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;12&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; FontWeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bold&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=Value,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Population: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.15*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.15*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.04*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.4*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.56*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Aqua&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#30000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#50000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Row&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Column&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:red;"&gt; StartPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0, 0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; EndPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0, 1&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#a0ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#00ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1.0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Run the application:&lt;/p&gt;
&lt;p&gt;Startup screen has symbols for each country. Some of them are outside of the parts of multi-polygons, representing countries.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen1.png"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen1.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Silverlight application Initial screen.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;strong&gt;Add an Event Handler for the MapLayer.Imported event and calculate in its implementation a new position for MapElement.SymbolOrigin property:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Brushes&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#4C2C42C0 #4C218B93 #4CDC1C1C #4C3D7835 #4C701B51&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FillMode&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Choropleth&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; WorldRect&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=MainWindow,&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=WorldRect}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Name=Name;Value=Value;Caption=Value&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; VisibleFromScale&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Imported&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Layer_Imported&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;.....&amp;nbsp;&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Layer_Imported(&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;object&lt;/span&gt; sender,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapLayerImportEventArgs&lt;/span&gt; e)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapLayer&lt;/span&gt; layer = sender &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MapLayer&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (layer == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt;&amp;gt; list =&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt;&amp;gt;(layer.Elements);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt; ele &lt;span style="color:blue;"&gt;in&lt;/span&gt; list)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; el = ele &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SurfaceElement&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (el == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;continue&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapPolylineCollection&lt;/span&gt; plines = el.Polylines;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; ordered = plines.OrderByDescending(c =&amp;gt; c.GetPolygonArea());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapPolyline&lt;/span&gt; poly = ordered.ElementAt(0);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ele.SymbolOrigin = poly.GetCentroid();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Implements extension methods to calculate a geometry properties of a polyline&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Util&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; GetPolygonSignedArea(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IList&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt;&amp;gt; c)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; n = c.Count;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; a = 0.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (n &amp;gt; 2)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;for&lt;/span&gt; (&lt;span style="color:blue;"&gt;int&lt;/span&gt; k = n - 2, j = n - 1, i = 0; i &amp;lt; n; k = j, j = i, ++i)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a += c[j].X * (c[i].Y - c[k].Y);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; a;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; GetPolygonArea(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IList&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt;&amp;gt; c)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Math&lt;/span&gt;.Abs(0.5 * GetPolygonSignedArea(c));&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt; GetCentroid(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt;&amp;gt; points)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; x = 0.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; y = 0.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; c = 0.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt; point &lt;span style="color:blue;"&gt;in&lt;/span&gt; points)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; x += point.X;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; y += point.Y;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; c += 1.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Point&lt;/span&gt;(x / c, y / c);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Run the application:&lt;/p&gt;
&lt;p&gt;Positions of the symbols now&amp;nbsp;are on appropriate places.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen2.png"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Change the size of the symbols, depending of the value:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Brushes&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#4C2C42C0 #4C218B93 #4CDC1C1C #4C3D7835 #4C701B51&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FillMode&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Choropleth&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; WorldRect&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=MainWindow,&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=WorldRect}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Name=Name;Value=Value;Caption=Value&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; VisibleFromScale&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Imported&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Layer_Imported&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.Reader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SqlShapeReader&lt;/span&gt;&lt;span style="color:red;"&gt; DataMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Data=geom; Name=CNTRY_NAME; Value=POP_CNTRY; Caption=CNTRY_NAME; ToolTip=CNTRY_NAME&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SqlShapeReader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.Reader&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueScale&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearScale&lt;/span&gt;&lt;span style="color:red;"&gt; IsAutoRange&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;True&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueScale&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=Value}&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=Value}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:red;"&gt; CornerRadius&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;4&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; BorderBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bisque&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; BorderThickness&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Background&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Beige&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Padding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;8&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;12&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; FontWeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bold&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=ToolTip,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Location: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;12&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; FontWeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Bold&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=Value,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Population: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.15*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.15*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.04*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.4*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:red;"&gt; Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.56*&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Aqua&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#30000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.RowSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.ColumnSpan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Transparent&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#50000000&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadialGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Row&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Grid.Column&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; IsHitTestVisible&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;Opacity&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.7&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:red;"&gt; StartPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0, 0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; EndPoint&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0, 1&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#a0ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GradientStop&lt;/span&gt;&lt;span style="color:red;"&gt; Color&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#00ffffff&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Offset&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1.0&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;LinearGradientBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse.Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer.ValueTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ig&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;MapLayer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;const&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; Min = 5;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;const&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; Max = 70;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;....&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Layer_Imported(&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;object&lt;/span&gt; sender,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapLayerImportEventArgs&lt;/span&gt; e)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapLayer&lt;/span&gt; layer = sender &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MapLayer&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (layer == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt;&amp;gt; list =&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt;&amp;gt;(layer.Elements);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;MapElement&lt;/span&gt; ele &lt;span style="color:blue;"&gt;in&lt;/span&gt; list)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; el = ele &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SurfaceElement&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (el == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;continue&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapPolylineCollection&lt;/span&gt; plines = el.Polylines;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; ordered = plines.OrderByDescending(c =&amp;gt; c.GetPolygonArea());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;MapPolyline&lt;/span&gt; poly = ordered.ElementAt(0);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ele.SymbolOrigin = poly.GetCentroid();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:green;"&gt;//Normalize a population value&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; value = ele.Value / 5000000.0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (value &amp;lt; Min)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; value = Min;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;else&lt;/span&gt; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (value &amp;gt; Max)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; value = Max;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ele.Value = value;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Run the application:&lt;/p&gt;
&lt;p&gt;Size of the symbols depends on country population, normalized in the event handler:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen3.png"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Screen3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Source code of the demo application you could find here:(Please visit the site to view this media)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248308" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/XamMap/default.aspx">XamMap</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>Theming your Infragistics WPF Line of Business Applications Made Quick and Easy</title><link>http://blogs.infragistics.com/blogs/kiril_matev/archive/2010/08/30/theming-your-infragistics-wpf-line-of-business-applications-made-quick-and-easy.aspx</link><pubDate>Mon, 30 Aug 2010 15:36:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:248141</guid><dc:creator>[Infragistics] Kiril Matev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Say you&amp;rsquo;ve built an application using Infragistics &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Overview" target="_blank"&gt;WPF Line of Business controls&lt;/a&gt;, and would like to finish the job with a color theme matching the corporate color palette or the color your graphical designer has recommended. This blog post demonstrates how you can do this easily by using the powerful theming capabilities provided by Infragistics &lt;a target="_blank" href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Overview"&gt;WPF Line of Business controls&lt;/a&gt;. This approach will enable you to change the color scheme of existing themes by a single color setting and quickly produce professional-looking themes for selected &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Overview" target="_blank"&gt;Infragistics WPF Line of Business controls&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The theming approach described in this post has been implemented in a project you can &lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev.Theming+your+Infragistics+WPF+Line+of+Business+Applications+Made+Quick+and+Easy/WPFStylableApp.zip" target="_blank"&gt;download here&lt;/a&gt;. It is built as a WPF application using Visual Studio 2010 and .NET 4. Please &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Downloads" target="_blank"&gt;download and install a trial version&lt;/a&gt; of Infragistics &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Overview" target="_blank"&gt;WPF Line of Business Controls&lt;/a&gt; to run it.&lt;/p&gt;
&lt;p&gt;Here are two versions of the same application screen, featuring &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.Ribbon.v10.2~Infragistics.Windows.Ribbon.XamRibbon.html" target="_blank"&gt;XamRibbon&lt;/a&gt;, &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamDataGrid.html" target="_blank"&gt;XamDataGrid&lt;/a&gt; and all Infragistics editor controls, produced by only changing the value of the color used for theme transformation (we call it theme &amp;ldquo;resource washing&amp;rdquo;). Here&amp;rsquo;s the application screen produced with a wash color of LightBlue:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/ResourceWashingLightBlue.jpg"&gt;&lt;img border="0" src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/ResourceWashingLightBlue.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the application screen produced with a wash color of DarkGoldenrod:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/ResourceWashingDarkGoldenRod.jpg"&gt;&lt;img border="0" src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/kiril_5F00_matev/ResourceWashingDarkGoldenRod.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Presenting resource washing&lt;/h4&gt;
&lt;p&gt;We refer to the approach of automatically creating a new theme based on an existing one as resource washing. Think of resource washing as a process similar to what happens in a washing machine when you wash whites with one colored item &amp;ndash; all of the whites obtain a pale shade of the colored item. The metaphor aside and back into WPF, we will be merging standard Infragistics control theme resource dictionaries (the items to have their colors changed), and then using a ResourceWasher to modify their color settings appropriately. &lt;/p&gt;
&lt;h4&gt;Implementing resource washing&lt;/h4&gt;
&lt;pre&gt;&amp;lt;Grid&amp;gt;&lt;br /&gt;     &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;lt;ResourceDictionary.MergedDictionaries&amp;gt;&lt;br /&gt;             &amp;lt;!--xamdatagrid theme washing&amp;mdash;&amp;gt;&lt;br /&gt;             &amp;lt;!--importing the xamdatagrid base theme&amp;mdash;&amp;gt;&lt;br /&gt;             &amp;lt;igThemes:DataPresenterWashBaseLight /&amp;gt;&lt;br /&gt;             &amp;lt;igThemes:ResourceWasher &lt;br /&gt;                    AutoWash=&amp;quot;True&amp;quot; WashColor=&amp;quot;LightBlue&amp;quot; WashMode=&amp;quot;HueSaturationReplacement&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            &amp;lt;igThemes:ResourceWasher.SourceDictionary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;                  &amp;lt;!--set of brushes to be washed for the xamdatagrid&amp;mdash;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &amp;nbsp;       &amp;lt;igThemes:DataPresenterWashBaseLightBrushes /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &amp;nbsp;&amp;nbsp; &amp;lt;/igThemes:ResourceWasher.SourceDictionary&amp;gt;&lt;br /&gt;             &amp;lt;/igThemes:ResourceWasher&amp;gt;&lt;br /&gt;          &amp;lt;/ResourceDictionary.MergedDictionaries&amp;gt;&lt;br /&gt;       &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;     &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;&amp;lt;/Grid&amp;gt;&lt;/pre&gt;
&lt;p&gt;The code segment above performs resource washing for a &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamDataGrid.html" target="_blank"&gt;XamDataGrid&lt;/a&gt; control, using a LightBlue color. Please refer to this code segment as we go along.&lt;/p&gt;
&lt;p&gt;Add an igThemes namespace declaration to your window as follows:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;code&gt;xmlns:igThemes&lt;/code&gt;&lt;code&gt;=&lt;/code&gt;&amp;quot;&lt;code&gt;http://infragistics.com/Themes&lt;/code&gt;&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Add the base theme for the control to the MergedDictionaries collection of the ResourceDictionary to make sure the ControlTemplates will be loaded.&lt;/p&gt;
&lt;p&gt;Add a &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher_members.html" target="_blank"&gt;ResourceWasher&lt;/a&gt;, which is a customized ResourceDictionary type used to modify &lt;a href="http://www.infragistics.com/dotnet/netadvantage/wpf.aspx#Overview" target="_blank"&gt;Infragistics WPF controls&lt;/a&gt; theme resource dictionaries to the same MergedDictionaries collection. The &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher_members.html" target="_blank"&gt;ResourceWasher&lt;/a&gt; &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher~SourceDictionary.html" target="_blank"&gt;SourceDictionary&lt;/a&gt; property has to be set to the set of brushes to be washed.&amp;nbsp;Although you can use all themes as source, we recommend using brush sets with names ending in WashBaseLight or WashBaseDark &amp;ndash; we have set these up especially for resource washing. In case of &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamDataGrid.html" target="_blank"&gt;XamDataGrid&lt;/a&gt; these two brush sets are DataPresenterWashBaseLightBrushes and DataPresenterWashBaseDarkBrushes. There are corresponding light and dark brush sets to be used when washing for &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.Ribbon.v10.2~Infragistics.Windows.Ribbon.XamRibbon.html" target="_blank"&gt;XamRibbon&lt;/a&gt; and editors controls, as implemented in the sample project.&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher_members.html" target="_blank"&gt;ResourceWasher&lt;/a&gt; uses the &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher~WashColor.html" target="_blank"&gt;WashColor&lt;/a&gt; color in the process of washing &amp;ndash; this is the color which all color settings in the theme will approach. In more advanced scenarios, to be covered in a separate post, we can define &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher~WashGroups.html" target="_blank"&gt;WashGroups&lt;/a&gt; which can be washed using separate colors. This gives you extra flexibility and precision in coloring selected elements of controls.&lt;/p&gt;
&lt;p&gt;There are two modes of color washing controlled by the &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher~WashMode.html" target="_blank"&gt;WashMode&lt;/a&gt; property of the &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=InfragisticsWPF4.v10.2~Infragistics.Windows.Themes.ResourceWasher_members.html" target="_blank"&gt;ResourceWasher&lt;/a&gt; &amp;ndash; experiment and set the one which works best for you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HueSaturationReplacement &lt;strong&gt;- &lt;/strong&gt;Replaces the hue and saturation values with the corresponding values from the wash color but retains the brightness value. 
&lt;/li&gt;
&lt;li&gt;SoftLightBlend &lt;strong&gt;- &lt;/strong&gt;Blends each of the RGB color values with the corresponding wash color values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What makes this approach quick is also that you don&amp;rsquo;t need to set any properties on the &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamDataGrid.html" target="_blank"&gt;XamDataGrid&lt;/a&gt; control or write and user code to take advantage of resource washing. Just make sure you haven&amp;rsquo;t set its &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamData_Using_Built_In_Themes.html" target="_blank"&gt;Theme&lt;/a&gt; property to one of the &lt;a href="http://help.infragistics.com/NetAdvantage/WPF/2010.2/CLR4.0/?page=xamData_Using_Built_In_Themes.html" target="_blank"&gt;built-in themes&lt;/a&gt;, as it will override the color settings from the washing.&lt;/p&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;Resource washing is a powerful tool for quickly producing your own shades of standard themes to match the color scheme you have selected for your application or organization as a whole. It frees you from the limitations of standard theme colors, and truly helps you quickly and easily deliver the application you&amp;rsquo;re building in the exact colors the graphical designers would like to have it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=248141" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Grid/default.aspx">Grid</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/coloring/default.aspx">coloring</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/XamRibbon/default.aspx">XamRibbon</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/application+styling/default.aspx">application styling</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Line+of+business/default.aspx">Line of business</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/theming/default.aspx">theming</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/XamDataGrid/default.aspx">XamDataGrid</category><category domain="http://blogs.infragistics.com/blogs/kiril_matev/archive/tags/Resource+Washing/default.aspx">Resource Washing</category></item><item><title>Setting the FieldSettings and FieldLayoutSettings of XamDataGrid</title><link>http://blogs.infragistics.com/blogs/alex_fidanov/archive/2010/08/27/setting-the-fieldsettings-and-fieldlayoutsettings-of-xamdatagrid.aspx</link><pubDate>Fri, 27 Aug 2010 05:31:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247744</guid><dc:creator>[Infragistics] Alex Fidanov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="font-family:mceinline;"&gt;Global settings VS Local Settings&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/alex_5F00_fidanov/Settings.png"&gt;&lt;img src="http://blogs.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/alex_5F00_fidanov/Settings.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A complete sample project you may find here :&amp;nbsp;(Please visit the site to view this media)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247744" width="1" height="1"&gt;</description></item><item><title>Using a XamDataChart to Create a Series of Items with Different Colors, Depending on the Values</title><link>http://blogs.infragistics.com/blogs/mihail_mateev/archive/2010/08/26/using-a-xamdatachart-to-create-a-series-of-items-with-different-colors-depending-on-the-values.aspx</link><pubDate>Thu, 26 Aug 2010 11:58:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247623</guid><dc:creator>[Infragistics] Mihail Mateev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Infragistics XamDataChart for Silverlight and WPF proposes a flexible approach to create a series where markers look different depending of properties of the bound items.&lt;/p&gt;
&lt;p&gt;It is possible to use a MarkerTemplate property of all kind of MarkerSeries like ScatterSeries, RangeColumnSeries.&lt;br /&gt;There it is possible to create own DataTemplate where properties of the UI elements could be bound to the properties of the item DataContext.&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;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;=&amp;quot;bubbleTemplate&amp;quot; &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Stretch&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Fill&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;StrokeThickness&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.5&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinWidth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MinHeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:red;"&gt; Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Vertical&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.YValue,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Value: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;An appropriate sample could be found there: &lt;a href="http://help.infragistics.com/Help/NetAdvantage/DV/2010.2/CLR4.0/html/xamDataChart_Marker_Values.html"&gt;http://help.infragistics.com/Help/NetAdvantage/DV/2010.2/CLR4.0/html/xamDataChart_Marker_Values.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes developers want to change the color of the marker, depending of the some values in the item DataContext. Values could be from different types. To be possible to convert a value from specified type to Brush with a specific color we need to have a ValueConverter.&lt;/p&gt;
&lt;p&gt;This article demonstrates two different converters: first - from a number to discrete color palette and a second - from number to continuous color palette.&lt;/p&gt;
&lt;p&gt;Sample application is built for Silverlight. It is possible to use the same approach to create a WPF application with XamDataChart for WPF&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requirements to build a sample application:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visual Studio 2010 &lt;/li&gt;
&lt;li&gt;Infragistics XamMap component: NetAdvantage for Silverlight Data Visualization 2010 vol.2 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Downloads"&gt;http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization.aspx#Downloads&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Steps to reproduce:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;For Silverlight Demo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a Silverlight application.&lt;/li&gt;
&lt;li&gt;Create a ValueConverters -&amp;nbsp; NumberToBrush to convert number to Brush with color from a discrete palette and RgbValueConverter (in the most components Brush is the type, used for Background, Stroke, etc) to convert a number to Brush with color from a continuous palette.&lt;/li&gt;
&lt;li&gt;Create a sample data, used like a DataContext for XamDataChart.&lt;/li&gt;
&lt;li&gt;Create a MarkerTemplates, representing ellipsis where color is bound to property YValue, using both converters. &lt;/li&gt;
&lt;li&gt;Create a XamDataCharts with a scatter series, using created MarkerTemplate definitions.&lt;/li&gt;
&lt;li&gt;Run the sample application&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1. Create a Silverlight Application with Visual Studio 2010.&lt;/p&gt;
&lt;p&gt;2. Add a two ValueConverters:&lt;/p&gt;
&lt;p&gt;NumberToBrush to convert a number (from type double) to SolidColorBrush. &lt;br /&gt;Brush depends on the color that is taken from a discrete palette. In a palette of six SolidColorBrishes with colors - white, red, orange, yellow, green and blue. As a parameter is set to Range Min and Max values.&amp;nbsp; Converter returns a SolidColorBrush, which corresponds to the number (space is divided into 5). If the value is outside the range of returns SolidColorBrush with white color.&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;sealed&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NumberToBrush&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;IValueConverter&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Brush&lt;/span&gt;[] _brushes = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Brush&lt;/span&gt;[] { &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.White), &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.Red), &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.Orange),&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.Yellow), &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.Green), &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.Blue)};&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Property Accessors&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Brush&lt;/span&gt;[] Brushes&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._brushes; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;set&lt;/span&gt; { &lt;span style="color:blue;"&gt;this&lt;/span&gt;._brushes = &lt;span style="color:blue;"&gt;value&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; IValueConverter&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;object&lt;/span&gt; Convert(&lt;span style="color:blue;"&gt;object&lt;/span&gt; value, &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; targetType, &lt;span style="color:blue;"&gt;object&lt;/span&gt; parameter,&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt; culture)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; ((&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Brush&lt;/span&gt;) != targetType || &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;double&lt;/span&gt;) != value.GetType()))&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt; range = parameter &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt;(range == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range.Min = 0;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range.Max = 10;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; i = (&lt;span style="color:blue;"&gt;double&lt;/span&gt;)value;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; interval = (&lt;span style="color:blue;"&gt;double&lt;/span&gt;)(range.Max - range.Min)/(_brushes.Length - 1);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; index = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(i / interval + 0.5);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (index &amp;lt;= 0 || index &amp;gt;= &lt;span style="color:blue;"&gt;this&lt;/span&gt;._brushes.Length) &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._brushes[0];&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._brushes[index];&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;object&lt;/span&gt; ConvertBack(&lt;span style="color:blue;"&gt;object&lt;/span&gt; value, &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; targetType, &lt;span style="color:blue;"&gt;object&lt;/span&gt; parameter,&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt; culture)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;throw&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#00008b;font-weight:bold;"&gt;NotImplementedException&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;BaseViewModel&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Min&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; _min;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Min&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._min; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;set&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._min = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; OnPropertyChanged(&lt;span style="color:#a31515;"&gt;&amp;quot;Min&amp;quot;&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt; &lt;span style="color:green;"&gt;// Min &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Max&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; _max;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Max&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._max; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;set&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;._max = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; OnPropertyChanged(&lt;span style="color:#a31515;"&gt;&amp;quot;Max&amp;quot;&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt; &lt;span style="color:green;"&gt;// Max&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;RgbValueConverter converts number to SolidColorBrush form color of continuous palette.&lt;/p&gt;
&lt;p&gt;Converter uses HSV (Hue-Saturation-Value)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/HSL_and_HSV"&gt;http://en.wikipedia.org/wiki/HSL_and_HSV&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Form Wikipedia:&lt;/p&gt;
&lt;p&gt;HSL and HSV are the two most common cylindrical-coordinate representations of points in an RGB color model, which rearrange the geometry of RGB in an attempt to be more perceptually relevant than the cartesian representation. They were developed in the 1970s for computer graphics applications, and are used for color pickers, in color-modification tools in image editing software&lt;/p&gt;
&lt;p&gt;HSL and HSV are both cylindrical geometries&amp;nbsp; with hue, their angular dimension, starting at the red primary at 0&amp;deg;, passing through the green primary at 120&amp;deg; and the blue primary at 240&amp;deg;, and then wrapping back to red at 360&amp;deg;.&lt;/p&gt;
&lt;p&gt;HSV is a different way of representing a color (as opposed to RGB, where R indicates a value from 0 to 255 that &amp;quot;controls the amount of red&amp;quot;, G for green and B for Blue). Have a look at the link above for an in-depth discussion.&lt;/p&gt;
&lt;p&gt;In the RgbValueConverter number value is normalized to fit between Min and Max values :&lt;/p&gt;
&lt;p&gt;var normValue = i * 360/(range.Max - range.Min);&lt;/p&gt;
&lt;p&gt;There is the whole code for RgbValueConverter:&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;sealed&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RgbValueConverter&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;IValueConverter&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt; ColorFromHsv(&lt;span style="color:blue;"&gt;double&lt;/span&gt; hue, &lt;span style="color:blue;"&gt;double&lt;/span&gt; saturation, &lt;span style="color:blue;"&gt;double&lt;/span&gt; value)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; hi = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(&lt;span style="color:#2b91af;"&gt;Math&lt;/span&gt;.Floor(hue / 60)) % 6;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;double&lt;/span&gt; f = hue / 60 - &lt;span style="color:#2b91af;"&gt;Math&lt;/span&gt;.Floor(hue / 60);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; value = value * 255;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; v = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(value);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; p = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(value * (1 - saturation));&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; q = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(value * (1 - f * saturation));&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;int&lt;/span&gt; t = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)(value * (1 - (1 - f) * saturation));&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (hi == 0)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)t, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (hi == 1)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)q, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (hi == 2)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)t);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (hi == 3)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)q, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (hi == 4)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)t, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Color&lt;/span&gt;.FromArgb(255, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)v, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)p, (&lt;span style="color:blue;"&gt;byte&lt;/span&gt;)q);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; IValueConverter&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;object&lt;/span&gt; Convert(&lt;span style="color:blue;"&gt;object&lt;/span&gt; value, &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; targetType, &lt;span style="color:blue;"&gt;object&lt;/span&gt; parameter,&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt; culture)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; ((&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Brush&lt;/span&gt;) != targetType || &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;double&lt;/span&gt;) != value.GetType()))&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt; range = parameter &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt;(range == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Range&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range.Min = 0;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; range.Max = 10;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; i = System.&lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToDouble(value);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (i &amp;lt;= range.Min || range.Min &amp;gt;= range.Max)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Colors&lt;/span&gt;.White);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;var&lt;/span&gt; normValue = i * 360/(range.Max - range.Min);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SolidColorBrush&lt;/span&gt;(ColorFromHsv(normValue, 1, 1));&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;object&lt;/span&gt; ConvertBack(&lt;span style="color:blue;"&gt;object&lt;/span&gt; value, &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; targetType, &lt;span style="color:blue;"&gt;object&lt;/span&gt; parameter,&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt; culture)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;throw&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#00008b;font-weight:bold;"&gt;NotImplementedException&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. Create a sample data, used like a DataContext for XamDataChart.&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubbleDataCollection&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;span style="color:#2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; BubbleDataCollection()&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt; { XValue = 4, YValue = 10, Width = 30 });&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt; { XValue = 4, YValue = 4, Width = 40 });&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt; { XValue = 8, YValue = 8, Width = 20 });&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt; { XValue = 10, YValue = 1, Width = 50 });&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt; { XValue = 1, YValue = 10, Width = 40 });&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BubblePoint&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; XValue { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; YValue { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; Width { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChartCustomTemplatesDemo&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;BubbleDataCollection&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;=&amp;quot;bubbleCollection&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="color:blue;"&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;=&amp;quot;LayoutRoot&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Background&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;White&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; DataContext&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource&lt;/span&gt;&lt;span style="color:red;"&gt; bubbleCollection&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;4. Create a MarkerTemplates, representing ellipsis where color is bound to property YValue, using both converters.&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Converters&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumberToBrush&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;=&amp;quot;indexToBrush&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Converters&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RgbValueConverter&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;=&amp;quot;RgbToBrush&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChartCustomTemplatesDemo&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;BubbleDataCollection&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;=&amp;quot;bubbleCollection&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Converters&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Range&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;=&amp;quot;range&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Min&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; Max&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;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;=&amp;quot;bubbleTemplate&amp;quot; &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Stretch&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Fill&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.YValue,&lt;/span&gt;&lt;span style="color:red;"&gt; Converter&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; indexToBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;},&lt;/span&gt;&lt;span style="color:red;"&gt; ConverterParameter&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; range&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Stroke&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Series&lt;/span&gt;&lt;span style="color:blue;"&gt;.ActualMarkerOutline}&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;StrokeThickness&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.5&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinWidth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MinHeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:red;"&gt; Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Vertical&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.YValue,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Value: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;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;=&amp;quot;bubbleTemplate2&amp;quot; &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:red;"&gt; Stretch&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Fill&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Fill&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.YValue,&lt;/span&gt;&lt;span style="color:red;"&gt; Converter&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; RgbToBrush&lt;/span&gt;&lt;span style="color:blue;"&gt;},&lt;/span&gt;&lt;span style="color:red;"&gt; ConverterParameter&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; range&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Stroke&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Series&lt;/span&gt;&lt;span style="color:blue;"&gt;.ActualMarkerOutline}&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;StrokeThickness&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0.5&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinWidth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MinHeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.Width}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:red;"&gt; Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Vertical&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color:red;"&gt; Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; Item&lt;/span&gt;&lt;span style="color:blue;"&gt;.YValue,&lt;/span&gt;&lt;span style="color:red;"&gt; StringFormat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;#39;Value: {0}&amp;#39;}&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ToolTipService.ToolTip&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Ellipse&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;MarkerTemplate definitions contain Ellipsis, filled with a Brush, depending on YValue of the BubblePoint objects.&lt;/p&gt;
&lt;p&gt;5. Create a XamDataCharts with a scatter series, using created MarkerTemplate definitions.&lt;/p&gt;
&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&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;=&amp;quot;theChart&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericXAxis&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;=&amp;quot;xAxis&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinimumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MaximumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;15&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericYAxis&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;=&amp;quot;yAxis&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinimumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MaximumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;15&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ScatterSeries&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;=&amp;quot;scatter&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MarkerTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource&lt;/span&gt;&lt;span style="color:red;"&gt; bubbleTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;ItemsSource&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;XMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;XValue&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;YMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;YValue&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;XAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=xAxis}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;YAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=yAxis}&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ScatterSeries&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div style="font-family:Consolas;background:white;color:black;font-size:10pt;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&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;=&amp;quot;theChart2&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericXAxis&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;=&amp;quot;xAxis2&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinimumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MaximumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;15&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;NumericYAxis&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;=&amp;quot;yAxis2&amp;quot;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MinimumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt; MaximumValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;15&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Axes&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ScatterSeries&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;=&amp;quot;scatter2&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;MarkerTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource&lt;/span&gt;&lt;span style="color:red;"&gt; bubbleTemplate2&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;ItemsSource&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;XMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;XValue&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;YMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;YValue&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;XAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=xAxis2}&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color:red;"&gt;YAxis&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt; ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=yAxis2}&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ScatterSeries&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart.Series&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;igChart&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XamDataChart&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6. Run the application:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.infragistics.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Pic1DataCharts.png"&gt;&lt;img src="http://community.infragistics.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/mihail_5F00_mateev/Pic1DataCharts.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sample code you could find here:(Please visit the site to view this media)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247623" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/XamDataChart/default.aspx">XamDataChart</category><category domain="http://blogs.infragistics.com/blogs/mihail_mateev/archive/tags/WPF/default.aspx">WPF</category></item><item><title>WebHTMLEditor: How to add toolbar button which inserts object at caret</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/webhtmleditor-how-to-add-toolbar-button-which-inserts-object-at-caret.aspx</link><pubDate>Wed, 25 Aug 2010 20:07:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247510</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The WebHtmlEditor allows to add various custom&amp;nbsp;items to toolbar. In case a toolbar button it is the ToolbarButtonType.Custom. That new item can be added at visual design time within Toolbar.Items property. Below example shows how to add item at run time.&lt;br /&gt;aspx.cs codes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;protected void Page_Load (System.Object sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(!this.IsPostBack)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;Infragistics.WebUI.WebHtmlEditor.ToolbarButton tb = new Infragistics.WebUI.WebHtmlEditor.ToolbarButton(Infragistics.WebUI.WebHtmlEditor.ToolbarButtonType.Custom);&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.Key = &amp;quot;MyCustomTable&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.ToolTip = &amp;quot;Insert Table&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.ImageName = &amp;quot;./images/myTable.gif&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.WebHtmlEditor1.Toolbar.Items.Add(tb);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These codes will add new item to toolbar, but it will do nothing. In order to implement action on client and insert something in editor, the ClientSideEvents.BeforeAction should be used. The handler of that event provides various information about action. The 2nd param &amp;quot;actID&amp;quot; is equal to the Key of action/toolbutton. So, application may check if actID is equal to the Key of custom item and do desired action.&lt;/p&gt;
&lt;p&gt;In order to insert an object at caret, the method insertAtCaret(object) can be used. There are also global iged_insText(str) and iged_insNodeAtSel(obj) methods. Second method is not available for IE, because IE automatically converts str&amp;nbsp;passed into&amp;nbsp;iged_insText to html&amp;nbsp;object.&lt;/p&gt;
&lt;p&gt;Below example&amp;nbsp;shows how to&amp;nbsp;insert TABLE with custom attributes&amp;nbsp;at location of caret. Application may insert any&amp;nbsp;similar object or content.&lt;br /&gt;Note: in case of IE a string can be used as parameter in insertAtCaret, but all other browsers require html object.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;// function fired before actions&lt;br /&gt;function WebHtmlEditor1_BeforeAction(oEditor, actID, oEvent, p4, p5, p6, p7, p8, act)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(actID == &amp;#39;MyCustomTable&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;insertMyTable(oEditor);&lt;br /&gt;}&lt;br /&gt;function insertMyTable(oEditor)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;var rows = 2, cols = 3, colWidth = &amp;#39;64px&amp;#39;, rowHeight = &amp;#39;33px&amp;#39;;&lt;br /&gt;&amp;nbsp;// reference to the document used by editing area&lt;br /&gt;&amp;nbsp;var doc = oEditor._doc();&lt;br /&gt;&amp;nbsp;var tbl = doc.createElement(&amp;#39;TABLE&amp;#39;);&lt;br /&gt;&amp;nbsp;var tbody = doc.createElement(&amp;#39;TBODY&amp;#39;);&lt;br /&gt;&amp;nbsp;tbl.appendChild(tbody);&lt;br /&gt;&amp;nbsp;for(var i = 0; i &amp;lt; rows; i++)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;var tr = doc.createElement(&amp;#39;TR&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;for(var j = 0; j &amp;lt; cols; j++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var td = doc.createElement(&amp;#39;TD&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.width = colWidth;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.height = rowHeight;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.background = &amp;#39;#F0F0F0&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.fontSize = &amp;#39;8pt&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// build single line borders between cells&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i &amp;gt; 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.borderTop = &amp;#39;1px solid blue&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(j &amp;gt; 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.style.borderLeft = &amp;#39;1px solid blue&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;td.innerHTML = &amp;#39;&amp;amp;nbsp&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;tr.appendChild(td);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;tbody.appendChild(tr);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;tbl.setAttribute(&amp;#39;cellpadding&amp;#39;, 0);&lt;br /&gt;&amp;nbsp;tbl.setAttribute(&amp;#39;cellspacing&amp;#39;, 0);&lt;br /&gt;&amp;nbsp;tbl.style.tableLayout = &amp;#39;fixed&amp;#39;;&lt;br /&gt;&amp;nbsp;tbl.style.width = &amp;#39;200px&amp;#39;;&lt;br /&gt;&amp;nbsp;tbl.style.border = &amp;#39;1px solid #606060&amp;#39;;&lt;br /&gt;&amp;nbsp;// Note: leading and trailing BR (or similar objects) may ensure&lt;br /&gt;&amp;nbsp;// that user will be able to set caret in front of or after TABLE.&lt;br /&gt;&amp;nbsp;// Because if TABLE is the only object in editor,&lt;br /&gt;&amp;nbsp;// then browser may ignore mouse clicks outside of it.&lt;br /&gt;&amp;nbsp;//oEditor.insertAtCaret(doc.createElement(&amp;#39;BR&amp;#39;));&lt;br /&gt;&amp;nbsp;oEditor.insertAtCaret(tbl);&lt;br /&gt;&amp;nbsp;//oEditor.insertAtCaret(doc.createElement(&amp;#39;BR&amp;#39;));&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;ClientSideEvents BeforeAction=&amp;quot;WebHtmlEditor1_BeforeAction&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247510" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item><item><title>How to process keyup event in WebHtmlEditor</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/how-to-process-keyup-event-in-webhtmleditor.aspx</link><pubDate>Wed, 25 Aug 2010 20:06:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247509</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;ClientSideEvents of WebHtmlEditor do not have KeyUp event. If application needs to process that event, then it may use following codes. They contain some internal objects methods and&amp;nbsp;mimic internal logic of control. It processes initialze event and adds listener to the keyup event over editing area.&lt;/p&gt;
&lt;p&gt;To find reference to editor from source element of browser-event, the element or id can be used.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;function initEditor(editor)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;// under IE editing element is DIV which belongs to document of page&lt;br /&gt;&amp;nbsp;// under other browsers, editing element is IFRAME&amp;nbsp;and listeners&lt;br /&gt;&amp;nbsp;// should be added to its document&lt;br /&gt;&amp;nbsp;var elem = editor._ie ? editor._elem : editor._doc();&lt;br /&gt;&amp;nbsp;// that is a shortcut to add handler/listener to browser&amp;#39;s event&lt;br /&gt;&amp;nbsp;editor._addLsnr(elem, &amp;#39;keyup&amp;#39;, keyUpHandler);&lt;br /&gt;}&lt;br /&gt;function keyUpHandler(evt)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(!evt) if((evt = window.event) == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;// try to find target html element&lt;br /&gt;&amp;nbsp;var editor = null, src = evt.target;&lt;br /&gt;&amp;nbsp;if(!src) if(!(src = evt.srcElement) == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;var doc = src.ownerDocument;&lt;br /&gt;&amp;nbsp;// try to get reference to editor from element&lt;br /&gt;&amp;nbsp;var editor = iged_getById(src);&lt;br /&gt;&amp;nbsp;// editing area is IFRAME. Try to find id of its document&lt;br /&gt;&amp;nbsp;if(!editor)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;var id = null, doc = src.ownerDocument;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(doc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;id = doc.id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(!id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;id = src.id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(!id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;try{id = src.document.id;}catch(ex){}&lt;br /&gt;&amp;nbsp;&amp;nbsp;// try to find editor from id&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(id &amp;amp;&amp;amp; id.indexOf(&amp;#39;ig_d_&amp;#39;) == 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;editor = iged_getById(id.substring(5));&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;if(!editor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;// success&lt;br /&gt;&amp;nbsp;alert(&amp;#39;&amp;#39; + evt.keyCode + &amp;#39; editor=&amp;#39; + editor.ID)&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ClientSideEvents Initialize=&amp;quot;initEditor&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247509" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item><item><title>WebHTMLEditor: How to build toolbar button with custom dialog</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/webhtmleditor-how-to-build-toolbar-button-with-custom-dialog.aspx</link><pubDate>Wed, 25 Aug 2010 20:05:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247507</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;In order to add a toolbar button which shows custom dialog, the ToolbarDialogButton object with type Custom&amp;nbsp;should be added to the Toolbar&amp;nbsp;of WebHtmlEditor. It can be done at visual design&amp;nbsp;time using Toobar.Items or at run time. Example below shows how&amp;nbsp;to do that at run time. The dialog type should be set to &lt;strong&gt;Text &lt;/strong&gt;and &lt;strong&gt;DialogContentID&lt;/strong&gt; should have a value. That value will be used by WebHtmlEditor&amp;nbsp;to set id&amp;nbsp;of html-element DIV which represents content pane located&amp;nbsp;inside of&amp;nbsp;custom dialog. It means that on client application may get reference to that DIV container and fill it with any content.&lt;/p&gt;
&lt;p&gt;Custom&amp;nbsp;content for dialog can be built dynamically in javascript&amp;nbsp;or it may&amp;nbsp;already exist&amp;nbsp;within aspx.&amp;nbsp;To fill up dialog, any start-up event&amp;nbsp;can be used.&amp;nbsp;The best place to do that, is to use ClientSideEvents.&lt;strong&gt;Initialize&lt;/strong&gt;.&lt;br /&gt;In that particular sample, the&amp;nbsp;content of dialog is built directly in aspx inside of DIV with id=MyDialogContentID. In order to prevent showing that MyDialogContentID on page load, its visibility&amp;nbsp;is set to hidden.&lt;br /&gt;Besides showing custom&amp;nbsp;dialog this sample also processes events of dialog&amp;#39;s child elements; and inserts text or object in editor at location of caret. All that processing and inserting is not related to custom dialog, but only an example, how editor can be updated by custom dialog.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="text-decoration:underline;"&gt;aspx.cs codes&lt;/span&gt;&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;protected void Page_Load (System.Object sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(!this.IsPostBack)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;Infragistics.WebUI.WebHtmlEditor.ToolbarDialogButton tb = new Infragistics.WebUI.WebHtmlEditor.ToolbarDialogButton();&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.Type = Infragistics.WebUI.WebHtmlEditor.ToolbarDialogButtonType.Custom;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.Dialog.InternalDialogType = Infragistics.WebUI.WebHtmlEditor.InternalDialogType.Text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.Dialog.DialogContentID = &amp;quot;MyDialogID&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.ToolTip = &amp;quot;My dialog&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tb.ImageName = &amp;quot;./images/myDialog.gif&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.WebHtmlEditor1.Toolbar.Items.Add(tb);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;em&gt;aspx codes&lt;/em&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;// That function is called when WebHtmlEditor1 was initialized.&lt;br /&gt;function WebHtmlEditor1_Initialize(oEditor)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;initializeMyDialog();&lt;br /&gt;}&lt;br /&gt;// That function is called by WebHtmlEditor1_Initialize in order to&lt;br /&gt;// initialize content of custom dialog, which is defined explicitly within aspx&lt;br /&gt;var myDialogWasCreated = false;&lt;br /&gt;function initializeMyDialog()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(myDialogWasCreated)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;myDialogWasCreated = true;&lt;br /&gt;&amp;nbsp;// Find reference to html-element container for MyDialogID.&lt;br /&gt;&amp;nbsp;// That value was set to ToolbarDialogButton.Dialog.DialogContentID&lt;br /&gt;&amp;nbsp;var dialog = document.getElementById(&amp;quot;MyDialogID&amp;quot;);&lt;br /&gt;&amp;nbsp;if(!dialog)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;// Find reference to html-element content for MyDialog.&lt;br /&gt;&amp;nbsp;// The html element with that id was created within aspx.&lt;br /&gt;&amp;nbsp;var content = document.getElementById(&amp;quot;MyDialogContentID&amp;quot;);&lt;br /&gt;&amp;nbsp;// Remove MyDialogContentID from its temporary container (body of asxp-page)&lt;br /&gt;&amp;nbsp;// and insert it into MyDialogID container, which is used by WebHtmlEditor.&lt;br /&gt;&amp;nbsp;content.parentNode.removeChild(content);&lt;br /&gt;&amp;nbsp;dialog.appendChild(content);&lt;br /&gt;&amp;nbsp;// Undo initial hidden state.&lt;br /&gt;&amp;nbsp;content.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;&amp;nbsp;content.style.visibility = &amp;quot;visible&amp;quot;;&lt;br /&gt;}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// That function is called by a button located in custom dialog MyDialogContentID.&lt;br /&gt;// Build some object (here SPAN) and insert it into WebHtmlEditor at current selection.&lt;br /&gt;function myDialogButtonClick2(message)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;var span = document.createElement(&amp;quot;SPAN&amp;quot;);&lt;br /&gt;&amp;nbsp;var style = span.style;&lt;br /&gt;&amp;nbsp;style.border = &amp;quot;2px solid red&amp;quot;;&lt;br /&gt;&amp;nbsp;style.background = &amp;quot;cyan&amp;quot;;&lt;br /&gt;&amp;nbsp;style.fontSize = &amp;quot;10pt&amp;quot;;&lt;br /&gt;&amp;nbsp;style.padding = &amp;quot;5px&amp;quot;;&lt;br /&gt;&amp;nbsp;var field = document.getElementById(&amp;quot;myDialogEditField&amp;quot;);&lt;br /&gt;&amp;nbsp;var text = field ? field.value : &amp;quot;Can not find myDialogEditField.&amp;quot;;&lt;br /&gt;&amp;nbsp;span.innerHTML = &amp;quot;SPAN from MyDialog:&amp;#39;&amp;quot; + message + &amp;quot;&amp;#39;. Value:&amp;quot; + text;&lt;br /&gt;&amp;nbsp;var oEditor = iged_getById(&amp;quot;&amp;lt;%=WebHtmlEditor1.ClientID%&amp;gt;&amp;quot;);&lt;br /&gt;&amp;nbsp;if(oEditor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;oEditor.insertAtCaret(span);&lt;br /&gt;}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// That function is called by a button located in custom dialog MyDialogContentID.&lt;br /&gt;// Build some text and insert it into WebHtmlEditor at current selection.&lt;br /&gt;function myDialogButtonClick1(message)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;var field = document.getElementById(&amp;quot;myDialogEditField&amp;quot;);&lt;br /&gt;&amp;nbsp;var text = field ? field.value : &amp;quot;Can not find myDialogEditField.&amp;quot;;&lt;br /&gt;&amp;nbsp;text = &amp;quot;Message from dialog &amp;#39;&amp;quot; + message + &amp;quot;&amp;#39; Value:&amp;#39;&amp;quot; + text + &amp;quot;&amp;#39;&amp;quot;;&lt;br /&gt;&amp;nbsp;var oEditor = iged_getById(&amp;quot;&amp;lt;%=WebHtmlEditor1.ClientID%&amp;gt;&amp;quot;);&lt;br /&gt;&amp;nbsp;if(oEditor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;oEditor.insertAtCaret(text);&lt;br /&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;MyDialogContentID&amp;quot; style=&amp;quot;padding:10px;width:360px;height:120px;border:2px solid #80A0C0;background:#E0F0F0;display:none;visibility:hidden;&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;span style=&amp;quot;font-size:8pt;margin:20px;&amp;quot;&amp;gt;Enter text:&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input id=&amp;quot;myDialogEditField&amp;quot; style=&amp;quot;margin-top:10px;&amp;quot; value=&amp;quot;default text&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;span style=&amp;quot;font-size:8pt;&amp;quot;&amp;gt;Note: if you set focus to field, then old selection in WebHtmlEditor can be lost (mostly under IE) and text can be inserted at the beginning, rather than at the last position of caret/selection&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type=&amp;quot;button&amp;quot; style=&amp;quot;width:150px;margin:10px;&amp;quot; value=&amp;quot;Insert Text&amp;quot; onclick=&amp;quot;myDialogButtonClick1(&amp;#39;MyDialog&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type=&amp;quot;button&amp;quot; style=&amp;quot;width:150px;margin:10px;&amp;quot; value=&amp;quot;Insert SPAN&amp;quot; onclick=&amp;quot;myDialogButtonClick2(&amp;#39;MyDialog&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;ClientSideEvents Initialize=&amp;quot;WebHtmlEditor1_Initialize&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247507" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item><item><title>How to add custom drop-down button to toolbar of WebHtmlEditor</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/how-to-add-custom-drop-down-button-to-toolbar-of-webhtmleditor.aspx</link><pubDate>Wed, 25 Aug 2010 20:04:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247506</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;In order to add another ToolbarDropDown to WebHtmlEditor, the Type=&amp;quot;Custom&amp;quot; should be used. The toolbar items expose property Key and if that property is set, then&amp;nbsp;action on client is defined not by Type property, but by the Key. It means that if Key is set to the&amp;nbsp;&amp;quot;Insert&amp;quot;, then&amp;nbsp;WebHtmlEditor on client will automatically perform &amp;quot;insert&amp;quot; action for items of custom drop-down list and not extra codes is required.&lt;br /&gt;Another item can be added within aspx at visual design, or it can be added&amp;nbsp;on any server event. Below&amp;nbsp;are examples for both cases:&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;aspx:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot; ...&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Toolbar&amp;gt;&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;lt;ighedit:ToolbarDropDown runat=&amp;quot;server&amp;quot; Type=&amp;quot;Custom&amp;quot; Key=&amp;quot;Insert&amp;quot; Title=&amp;quot;MyInsert2&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 2-1&amp;quot; Text=&amp;quot;Item1&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 2-2&amp;quot; Text=&amp;quot;Item2&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ighedit:ToolbarDropDown&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDown runat=&amp;quot;server&amp;quot; Type=&amp;quot;Custom&amp;quot; Key=&amp;quot;Insert&amp;quot; Title=&amp;quot;MyInsert3&amp;quot; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot;&amp;nbsp;Value=&amp;quot;Text to insert 3-1&amp;quot; Text=&amp;quot;Item1&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 3-2&amp;quot; Text=&amp;quot;Item2&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ighedit:ToolbarDropDown&amp;gt;&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;&amp;nbsp; &amp;lt;/Toolbar&amp;gt;&lt;br /&gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;aspx.cs&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;protected void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(this.IsPostBack)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;ToolbarDropDown dd = new ToolbarDropDown(ToolbarDropDownType.Custom);&lt;br /&gt;&amp;nbsp;dd.Key = &amp;quot;Insert&amp;quot;;&lt;br /&gt;&amp;nbsp;dd.Title = &amp;quot;My links&amp;quot;;&lt;br /&gt;&amp;nbsp;this.WebHtmlEditor1.Toolbar.Items.Add(dd);&lt;br /&gt;&amp;nbsp;ToolbarDropDownItem item = new ToolbarDropDownItem(&amp;quot;Link1&amp;quot;, &amp;quot;&amp;lt;a href=&amp;#39;http://www.google.com&amp;#39;&amp;gt;Go google&amp;lt;/a&amp;gt;&amp;quot;);&lt;br /&gt;&amp;nbsp;dd.Items.Add(item);&lt;br /&gt;&amp;nbsp;item = new ToolbarDropDownItem(&amp;quot;Link2&amp;quot;, &amp;quot;&amp;lt;br/&amp;gt;&amp;lt;a href=&amp;#39;http://www.msdn.com&amp;#39;&amp;gt;MSDN&amp;lt;/a&amp;gt;&amp;quot;);&lt;br /&gt;&amp;nbsp;dd.Items.Add(item);&lt;br /&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If application needs to find reference to custom item on server (in order to remove or modify it), then it has several options. The most straight forward, is to search all items within Toolbar.Items property until a match for a property is&amp;nbsp;found. For example, if(item.Title==&amp;quot;MyInsert2&amp;quot;). Below is example for that:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ToolbarDropDown myInsert2 = null;&lt;br /&gt;foreach(object item in this.WebHtmlEditor1.Toolbar.Items)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(item is ToolbarDropDown &amp;amp;&amp;amp; ((ToolbarDropDown)item).Title.Equals(&amp;quot;MyInsert2&amp;quot;))&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;myInsert3 = (ToolbarDropDown)item;&lt;br /&gt;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On another hand the WebHtmlEditor and WebHtmlEditor.Toolbar also have search method &lt;strong&gt;FindByKeyOrAction&lt;/strong&gt;. Using that method will make codes much cleaner. However, in situation when Type is Custom and Key is Insert all 3 insert buttons (aspx example) will get match and the first found&amp;nbsp;item will be returned. To get around that situation, an&amp;nbsp;application may&amp;nbsp;set the&amp;nbsp;&lt;strong&gt;Key&lt;/strong&gt; property for any &lt;strong&gt;ToolbarDropDownItem&lt;/strong&gt; used in custom drop-down and pass that value into&amp;nbsp;FindByKeyOrAction method. In this case the reference to the parent ToolbarDropDown will be returned, but not to ToolbarDropDownItem.&lt;br /&gt;Note: the Key of ToobarDropDownItem is not used for any purpose not on server not on client.&lt;br /&gt;Below is example:&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;aspx:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDown runat=&amp;quot;server&amp;quot; Type=&amp;quot;Custom&amp;quot; Key=&amp;quot;Insert&amp;quot; Title=&amp;quot;MyInsert3&amp;quot; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Key=&amp;quot;MyKeyItem&amp;quot; Value=&amp;quot;Text to insert 3-1&amp;quot; Text=&amp;quot;Item1&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 3-2&amp;quot; Text=&amp;quot;Item2&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ighedit:ToolbarDropDown&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;aspx.cs:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ToolbarDropDown myInsert3 = this.WebHtmlEditor1.FindByKeyOrAction(&amp;quot;MyKeyItem&amp;quot;) as ToolbarDropDown;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Advanced configuration:&lt;br /&gt;If application needs a specific/strict/custom identifier for a button on server,&amp;nbsp;then it&amp;nbsp;may&amp;nbsp;set the&amp;nbsp;Key property to any value.&amp;nbsp;That Key will identify a custom button and not need in explicit search or usage of Key for a&amp;nbsp;subitem.&lt;br /&gt;However, in this case in order to perform desired built-in&amp;nbsp;&amp;quot;insert&amp;quot; action on client,&amp;nbsp;application should process ClientSideEvents.BeforeAction. It can check for action (actID and/or act params) coming from&amp;nbsp;toolbar button&amp;nbsp;and implement it.&lt;br /&gt;If application wants to perform a built-in action like &amp;quot;insert&amp;quot;, then&amp;nbsp;it may use the &amp;quot;oEvent.act&amp;quot; member. If that member is set, then that has priority over Type and Key actions. Below is example:&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;aspx:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;function WebHtmlEditor1_BeforeAction(oEditor, actID, oEvent, p4, p5, p6, p7, p8, act)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;// note: act and oEvent.act must be lower case only&lt;br /&gt;&amp;nbsp;if(act == &amp;#39;myinsertkey&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;oEvent.act = &amp;#39;insert&amp;#39;;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot; ...&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Toolbar&amp;gt;&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;lt;ighedit:ToolbarDropDown runat=&amp;quot;server&amp;quot; Type=&amp;quot;Custom&amp;quot; Key=&amp;quot;MyInsertKey&amp;quot; Title=&amp;quot;MyInsert4&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 4-1&amp;quot; Text=&amp;quot;Item1&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarDropDownItem runat=&amp;quot;server&amp;quot; Value=&amp;quot;Text to insert 4-2&amp;quot; Text=&amp;quot;Item2&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ighedit:ToolbarDropDown&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;...&lt;br /&gt;&amp;nbsp; &amp;lt;/Toolbar&amp;gt;&lt;br /&gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247506" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item><item><title>How add custom button which resets styles of selected text/objects in WebHtmlEditor</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/how-add-custom-button-which-resets-styles-of-selected-text-objects-in-webhtmleditor.aspx</link><pubDate>Wed, 25 Aug 2010 20:03:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247505</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The WebHtmlEditor allows to add custom items to toolbar and process their events on client. WebHtmlEditor on client has a shortcut method _format&amp;nbsp;which wraps execCommand method of document.&amp;nbsp;Application may obtain reference to document used by editing area&amp;nbsp;and call that method, or it may use shortcut. The command &amp;quot;removeFormat&amp;quot; performs clearing currently&amp;nbsp;selected text in browser. Below&amp;nbsp;example implements that feature.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;function WebHtmlEditor1_BeforeAction(oEditor, actID, oEvent, p4, p5, p6, p7, p8, act)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(actID == &amp;#39;MyResetButton&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;oEditor._format(&amp;#39;removeFormat&amp;#39;);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot; ...&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;ClientSideEvents BeforeAction=&amp;quot;WebHtmlEditor1_BeforeAction&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Toolbar&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ighedit:ToolbarButton runat=&amp;quot;server&amp;quot; Type=&amp;quot;Custom&amp;quot; Key=&amp;quot;MyResetButton&amp;quot; ImageName=&amp;quot;./images/resetImage.gif&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247505" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item><item><title>WebHTMLEditor: How to trigger actions for WebHtmlEditor from javascript</title><link>http://blogs.infragistics.com/blogs/engineering/archive/2010/08/25/wbhtmleditor-how-to-trigger-actions-for-webhtmleditor-from-javascript.aspx</link><pubDate>Wed, 25 Aug 2010 20:01:00 GMT</pubDate><guid isPermaLink="false">7a8b7c76-b7ad-48e0-9694-5b04ca132ed0:247504</guid><dc:creator>[Infragistics] Alexander Kartavov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Most actions of WebHtmlEditor are wrappers for &lt;strong&gt;document.execCommand&lt;/strong&gt;(action, params). The wrapper function for that action has name&amp;nbsp;&lt;strong&gt; _format&lt;/strong&gt;. It&amp;nbsp;was intended for internal usage,&amp;nbsp;though, application may use is it&amp;nbsp;as a&amp;nbsp;short-cut&amp;nbsp;for execCommand.&amp;nbsp;Those actions are&amp;nbsp;applied to selected object where caret is located.&lt;br /&gt;Internal implementation of actions&amp;nbsp;which insert objects&amp;nbsp;are rather complex and&amp;nbsp;different for different browsers.&amp;nbsp;For example insert-table&amp;nbsp;action includes&amp;nbsp;building&amp;nbsp;TABLE according to properties entered in InsertTable dialog.&lt;/p&gt;
&lt;p&gt;All actions on client are filtered through global function&lt;strong&gt;&amp;nbsp;iged_act&lt;/strong&gt;().&amp;nbsp;Editor does not have&amp;nbsp;public options to trigger toolbar actions from javascript for several reasons. However,&amp;nbsp;applications&amp;nbsp;may trigger&amp;nbsp;custom actions&amp;nbsp;for simple actions&amp;nbsp;like Bold, Italic and few others. That will have effect&amp;nbsp;for current/focused editor.&lt;br /&gt;Below is example, which shows how to use&amp;nbsp;_format and iged_act. It also includes example to access objects (like TABLE)&amp;nbsp;located in editor and modify&amp;nbsp;its property.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;ighedit:WebHtmlEditor ID=&amp;quot;WebHtmlEditor1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/ighedit:WebHtmlEditor&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;function setColor(val)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;var editor = iged_getById(&amp;#39;&amp;lt;%=WebHtmlEditor1.ClientID%&amp;gt;&amp;#39;);&lt;br /&gt;&amp;nbsp;if(editor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;editor._format(&amp;#39;forecolor&amp;#39;, val);&lt;br /&gt;}&lt;br /&gt;function setBold()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;iged_act(&amp;#39;bold&amp;#39;);&lt;br /&gt;}&lt;br /&gt;function setTableProp(prop, val)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;var editor = iged_getById(&amp;#39;&amp;lt;%=WebHtmlEditor1.ClientID%&amp;gt;&amp;#39;);&lt;br /&gt;&amp;nbsp;if(!editor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;// get reference to editing area:&lt;br /&gt;&amp;nbsp;// in case of IE the DIV is used, all other browsers: IFRAME&lt;br /&gt;&amp;nbsp;var field = editor._ie ? editor._elem : editor._doc().body;&lt;br /&gt;&amp;nbsp;var tables = field.getElementsByTagName(&amp;#39;TABLE&amp;#39;);&lt;br /&gt;&amp;nbsp;if(!tables || tables.length &amp;lt; 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;var table = tables[0];&lt;br /&gt;&amp;nbsp;table.style[prop] = val;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Bold&amp;quot; onclick=&amp;quot;setBold()&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Color&amp;quot; onclick=&amp;quot;setColor(&amp;#39;#c00000&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;TableBackground&amp;quot; onclick=&amp;quot;setTableProp(&amp;#39;background&amp;#39;, &amp;#39;red&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;TableColor&amp;quot; onclick=&amp;quot;setTableProp(&amp;#39;color&amp;#39;, &amp;#39;blue&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;TableBorder&amp;quot; onclick=&amp;quot;setTableProp(&amp;#39;borderColor&amp;#39;, &amp;#39;green&amp;#39;)&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infragistics.com/aggbug.aspx?PostID=247504" width="1" height="1"&gt;</description><category domain="http://blogs.infragistics.com/blogs/engineering/archive/tags/WebHTMLEditor/default.aspx">WebHTMLEditor</category></item></channel></rss>