<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Torrey Betts / Developer</title>
	<atom:link href="http://mytorrey.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mytorrey.com</link>
	<description>Developer</description>
	<lastBuildDate>Sun, 16 Oct 2011 02:26:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ingenious Streaming Media DJ &#8211; Update on October 15th 2011</title>
		<link>http://mytorrey.com/2011/10/15/ingenious-streaming-media-dj-update-on-october-15th-2011/</link>
		<comments>http://mytorrey.com/2011/10/15/ingenious-streaming-media-dj-update-on-october-15th-2011/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 01:14:56 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[dj]]></category>
		<category><![CDATA[microphone]]></category>
		<category><![CDATA[streaming media]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=324</guid>
		<description><![CDATA[Today&#8217;s update contains these features and/or bug fixes: Fixed max port bug. Previously, the max port was set to 52000, but now covers up to 65535. Added the ability to select the input microphone. It&#8217;s important to note that the software uses the default microphone input when the application starts, if you wish to use ...]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s update contains these features and/or bug fixes:</p>
<ul>
<li>Fixed max port bug. Previously, the max port was set to 52000, but now covers up to 65535.</li>
<li>Added the ability to select the input microphone.</li>
</ul>
<p>It&#8217;s important to note that the software uses the default microphone input when the application starts, if you wish to use a different input, then change the microphone input in the Configuration tab.</p>
<p>Over the next few days, expect more updates to be released. There needs to be some more changes made to the way the input microphone selection works, and also possibly support for WMA files.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/10/15/ingenious-streaming-media-dj-update-on-october-15th-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conditionally Formatting Cells in XamDataGrid</title>
		<link>http://mytorrey.com/2011/05/08/conditionally-formatting-cells-in-xamdatagrid-2/</link>
		<comments>http://mytorrey.com/2011/05/08/conditionally-formatting-cells-in-xamdatagrid-2/#comments</comments>
		<pubDate>Sun, 08 May 2011 07:43:31 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Infragistics]]></category>
		<category><![CDATA[XamDataGrid]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[cell values]]></category>
		<category><![CDATA[custom logic]]></category>
		<category><![CDATA[data grid]]></category>
		<category><![CDATA[format cells]]></category>
		<category><![CDATA[globalization]]></category>
		<category><![CDATA[grid control]]></category>
		<category><![CDATA[infragistics]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[value converter]]></category>
		<category><![CDATA[value converters]]></category>
		<category><![CDATA[visual contrast]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=276</guid>
		<description><![CDATA[Date: 4/24/2011 Version Used: 2010.2 The Infragistics WPF data grid control (XamDataGrid) is well known for its capabilities of producing polished reports, tables, ledgers, product listings, and more. One important feature that this article will demonstrate is the ability to conditionally format cells. Introduction If you&#8217;re not familiar with the meaning of conditionally formatted cells, ...]]></description>
			<content:encoded><![CDATA[<div>Date: 4/24/2011</div>
<div>Version Used: 2010.2</div>
<hr />
<div>The Infragistics WPF data grid control (XamDataGrid) is well known for its capabilities of producing polished reports, tables, ledgers, product listings, and more. One important feature that this article will demonstrate is the ability to conditionally format cells.</div>
<p>
<div><strong>Introduction</strong></div>
<div>If you&#8217;re not familiar with the meaning of conditionally formatted cells, imagine looking at a data grid that has several columns and rows. The monotone appearance can be very hard to read and locate important values. Conditionally formatting these cell values offer easier readability and a flexible method for achieving the visual contrast that will draw attention from the viewer&#8217;s eyes.</div>
<p>
<div>
<a href="http://mytorrey.com/wp-content/uploads/2011/04/xamDataGrid-Conditional-Cell-Formatting.png"><img class="aligncenter size-full wp-image-265" title="xamDataGrid - Conditional Cell Formatting" src="http://mytorrey.com/wp-content/uploads/2011/04/xamDataGrid-Conditional-Cell-Formatting.png" alt="" width="598" height="299" /></a></p>
<div><strong>WPF Value Converters</strong></div>
<div>To change monotone cell values to something more visual stimulating, we&#8217;ll make use of two value converter interfaces that can be found in the .NET framework called IValueConverter and IMultiValueConverter. As the names suggest IValueConverter converts a single value and IMultiValueConverter can convert an array of values based on custom logic.</div>
<p>
<div>To start we&#8217;ll create a class that inherits the IMultiValueConverter interface with the Convert and ConvertBack methods generated from the inheritance.
</div>
<p>
</div>
<pre>
<div class="codecolorer-container csharp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:450px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">namespace</span> xamDataGrid_ConditionalFormatting<span style="color: #008000;">.</span><span style="color: #0000FF;">ConditionalConverters</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">class</span> TotalSalesColorConverter<span style="color: #008000;">:</span> IMultiValueConverter<br />
&nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080;">#region IMultiValueConverter Members</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span> Convert<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> values, Type targetType, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>values <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">!=</span> DependencyProperty<span style="color: #008000;">.</span><span style="color: #0000FF;">UnsetValue</span> <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">!=</span> DependencyProperty<span style="color: #008000;">.</span><span style="color: #0000FF;">UnsetValue</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">//Insert your custom logic here and return a SolidColorBrush</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> ConvertBack<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> value, Type<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> targetTypes, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">throw</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> NotImplementedException<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080;">#endregion</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></td></tr></tbody></table></div>
</pre>
<p>In the sample project included with this article, custom logic was used to compare the estimated sales versus the total sales, which then returns a green SolidColorBrush for sales above estimate, and a red SolidColorBrush for sales below estimate. The Convert method below shows our custom logic.</p>
<pre>
<div class="codecolorer-container csharp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span> Convert<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> values, Type targetType, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>values <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">!=</span> DependencyProperty<span style="color: #008000;">.</span><span style="color: #0000FF;">UnsetValue</span> <span style="color: #008000;">&amp;&amp;</span> values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">!=</span> DependencyProperty<span style="color: #008000;">.</span><span style="color: #0000FF;">UnsetValue</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">Decimal</span> EstimatedSales <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Decimal</span><span style="color: #008000;">&#41;</span>values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">Decimal</span> TotalSales <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Decimal</span><span style="color: #008000;">&#41;</span>values<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>EstimatedSales <span style="color: #008000;">&gt;</span> TotalSales<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> SolidColorBrush<span style="color: #008000;">&#40;</span>Colors<span style="color: #008000;">.</span><span style="color: #0000FF;">Red</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> SolidColorBrush<span style="color: #008000;">&#40;</span>Colors<span style="color: #008000;">.</span><span style="color: #0000FF;">Green</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span></div></td></tr></tbody></table></div>
</pre>
<p>Next, we&#8217;ll create the class to inherit from IValueConverter and take a look at the skeleton. You&#8217;ll notice that the structure of the Convert method is nearly identical to IMultiValueConverter.</p>
<pre>
<div class="codecolorer-container csharp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:450px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">namespace</span> xamDataGrid_ConditionalFormatting<span style="color: #008000;">.</span><span style="color: #0000FF;">ConditionalConverters</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">class</span> YearColorConverter<span style="color: #008000;">:</span> IValueConverter<br />
&nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080;">#region IValueConverter Members</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span> Convert<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> value, Type targetType, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>value <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">//Insert your custom logic here and return a Color</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">//Typically in this custom logic you'll use a switch/case or if statement to</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">// &nbsp; process the correct data type.</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span> ConvertBack<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> value, Type targetType, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">throw</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> NotImplementedException<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080;">#endregion</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></td></tr></tbody></table></div>
</pre>
<p>For the sample project we used the Year column to check for a specific year value and returned a Color to set the background of the cell.</p>
<pre>
<div class="codecolorer-container csharp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">object</span> Convert<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> value, Type targetType, <span style="color: #6666cc; font-weight: bold;">object</span> parameter, <span style="color: #000000;">System.<span style="color: #0000FF;">Globalization</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">CultureInfo</span> culture<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>value <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>value <a href="http://www.google.com/search?q=is+msdn.microsoft.com"><span style="color: #008000;">is</span></a> <span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">String</span> Year <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">&#41;</span>value<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">switch</span> <span style="color: #008000;">&#40;</span>Year<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">case</span> <span style="color: #666666;">&quot;2010&quot;</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Colors<span style="color: #008000;">.</span><span style="color: #0000FF;">LightBlue</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">case</span> <span style="color: #666666;">&quot;2011&quot;</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Colors<span style="color: #008000;">.</span><span style="color: #0000FF;">LightGray</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Colors<span style="color: #008000;">.</span><span style="color: #0000FF;">White</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> Binding<span style="color: #008000;">.</span><span style="color: #0000FF;">DoNothing</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span></div></td></tr></tbody></table></div>
</pre>
<p><strong>XAML Integration</strong></p>
<p>Now that we have the two necessary classes created for our conversion to a conditionally formatted cell, we&#8217;ll have to add the namespace to the class at the top of our XAML source.</p>
<pre>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">xmlns:cc=&quot;clr-namespace:xamDataGrid_ConditionalFormatting.ConditionalConverters&quot;</div></td></tr></tbody></table></div>
</pre>
<p>With the namespace now in place we can add references to each converter inside the Windows.Resources tags. This gives us the ability to use the converters as a static resource in the parts of XAML where we need it as you&#8217;ll see coming up.</p>
<pre>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window.Resources<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cc:TotalSalesColorConverter</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;totalSalesColorConverter&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cc:YearColorConverter</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;yearColorConverter&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window.Resources<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
</pre>
<p>To make use of the converters we need to create the Style/Setter tag groups inside the  XamDataGrid.Resources tags to target the CellValuePresenter class. From that point you can reference the necessary property in the Setter tag. In this article we&#8217;re using Foreground property for the total sales conversion against the estimated sales, and Background property for the year column. </p>
<pre>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:XamDataGrid.Resources<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type igDP:CellValuePresenter}&quot;</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;TotalSalesFieldStyle&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Foreground&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Setter.Value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MultiBinding</span> <span style="color: #000066;">Converter</span>=<span style="color: #ff0000;">&quot;{StaticResource totalSalesColorConverter}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Binding</span> <span style="color: #000066;">Path</span>=<span style="color: #ff0000;">&quot;DataItem.SalesEstimate&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Binding</span> <span style="color: #000066;">Path</span>=<span style="color: #ff0000;">&quot;DataItem.TotalSales&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MultiBinding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Setter.Value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Setter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type igDP:CellValuePresenter}&quot;</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;YearFieldStyle&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Background&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Setter.Value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;SolidColorBrush</span> <span style="color: #000066;">Color</span>=<span style="color: #ff0000;">&quot;{Binding Path=DataItem.Year, Converter={StaticResource yearColorConverter}}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Setter.Value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Setter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:XamDataGrid.Resources<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
</pre>
<p>The final step in wiring up the conditional formatting happens inside the Field.Settings tags. By setting the CellValuePresenterStyle as the static resource key we created in XamDataGrid.Resources our custom styling will process the converter binding and give our grid some eye catching color.</p>
<pre>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:XamDataGrid.FieldLayoutSettings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:FieldLayoutSettings</span> <span style="color: #000066;">AutoGenerateFields</span>=<span style="color: #ff0000;">&quot;False&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:XamDataGrid.FieldLayoutSettings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:XamDataGrid.FieldLayouts<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:FieldLayout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field</span> <span style="color: #000066;">Name</span>=<span style="color: #ff0000;">&quot;Salesman&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field</span> <span style="color: #000066;">Name</span>=<span style="color: #ff0000;">&quot;Year&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field.Settings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:FieldSettings</span> <span style="color: #000066;">CellValuePresenterStyle</span>=<span style="color: #ff0000;">&quot;{StaticResource YearFieldStyle}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:Field.Settings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:Field<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field</span> <span style="color: #000066;">Name</span>=<span style="color: #ff0000;">&quot;SalesEstimate&quot;</span> <span style="color: #000066;">Label</span>=<span style="color: #ff0000;">&quot;Estimated Sales&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field</span> <span style="color: #000066;">Name</span>=<span style="color: #ff0000;">&quot;TotalSales&quot;</span> <span style="color: #000066;">Label</span>=<span style="color: #ff0000;">&quot;Total Sales&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:Field.Settings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;igDP:FieldSettings</span> <span style="color: #000066;">CellValuePresenterStyle</span>=<span style="color: #ff0000;">&quot;{StaticResource TotalSalesFieldStyle}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:Field.Settings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:Field<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:FieldLayout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/igDP:XamDataGrid.FieldLayouts<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
</pre>
<p><strong>Conclusion</strong></p>
<p>That&#8217;s all there is to it! Now that you see how to conditionally format cells of the XamDataGrid you can easily begin to expand on this concept if you need further formatting by making use of the other properties that can be found inside the CellValuePresenter class along with the Setter tags.</p>
<div class="download_box"><a href="http://mytorrey.com/wp-content/uploads/2011/05/XamDataGrid-Conditionally-Formatting-Cells.zip">Download the Source Code</a></div>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/05/08/conditionally-formatting-cells-in-xamdatagrid-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimenting with Advanced Audio Development</title>
		<link>http://mytorrey.com/2011/02/10/experimenting-with-advanced-audio-development/</link>
		<comments>http://mytorrey.com/2011/02/10/experimenting-with-advanced-audio-development/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 20:44:26 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[advanced features]]></category>
		<category><![CDATA[dj software]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[streaming media]]></category>
		<category><![CDATA[virtual dj]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=260</guid>
		<description><![CDATA[As marketing and sales are underway in the simplistic DJ software I put together, I&#8217;m starting to take a look at more advanced features of audio production and broadcasting. For example the Ingenious Streaming Media DJ V1 software uses a mixer that holds 2 channels of audio. One for the audio track, and one for ...]]></description>
			<content:encoded><![CDATA[<p>As marketing and sales are underway in the simplistic DJ software I put together, I&#8217;m starting to take a look at more advanced features of audio production and broadcasting.</p>
<p>For example the Ingenious Streaming Media DJ V1 software uses a mixer that holds 2 channels of audio. One for the audio track, and one for the microphone (if one exists). Now if we toss into the mix a DJ that mixes music, adding in another audio track channel we can start to fade between the two audio tracks to create mixing. Basically the same thing you see in the software Virtual DJ.</p>
<p>I&#8217;m also experimenting with an idea that should amount to &#8220;scratching&#8221; an audio track when I&#8217;m done. We&#8217;ll see how that goes, sometimes the result of shots in the dark can be successful or have really funny results.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/02/10/experimenting-with-advanced-audio-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingenious Streaming Media DJ &#8211; Listed on Download.com!</title>
		<link>http://mytorrey.com/2011/02/07/ingenious-streaming-media-dj-listed-on-download-com/</link>
		<comments>http://mytorrey.com/2011/02/07/ingenious-streaming-media-dj-listed-on-download-com/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 02:04:41 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=256</guid>
		<description><![CDATA[Earlier today Ingenious Streaming Media DJ was approved and listed on the most popular download website on the internet, download.com. If you&#8217;d like to take a look at the listing, you can find it by clicking this link. This software took a lot of work to get it to this point and there&#8217;s a lot ...]]></description>
			<content:encoded><![CDATA[<p>Earlier today Ingenious Streaming Media DJ was approved and listed on the most popular download website on the internet, download.com. If you&#8217;d like to take a look at the listing, you can find it by <a title="http://download.cnet.com/ingenious-streaming-media-dj/3000-2168_4-75362517.html" href="http://download.cnet.com/ingenious-streaming-media-dj/3000-2168_4-75362517.html" target="_blank">clicking this link</a>.</p>
<p>This software took a lot of work to get it to this point and there&#8217;s a lot more planned for it, and other future software releases that are much more advanced for the hardcore DJs out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/02/07/ingenious-streaming-media-dj-listed-on-download-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Business Website igsweb.net Changing Web Hosts</title>
		<link>http://mytorrey.com/2011/02/07/business-website-igsweb-net-changing-web-hosts/</link>
		<comments>http://mytorrey.com/2011/02/07/business-website-igsweb-net-changing-web-hosts/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 01:51:07 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[business site]]></category>
		<category><![CDATA[business software applications]]></category>
		<category><![CDATA[business website]]></category>
		<category><![CDATA[downtime]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[support portal]]></category>
		<category><![CDATA[transition period]]></category>
		<category><![CDATA[web hosts]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=253</guid>
		<description><![CDATA[Update: As of February 9th, 2011 both the email and support portal have been transferred successfully and are functional. Over the next 3-6 days I&#8217;ll be in the transition period of changing web hosts for the business site I run ( igsweb.net ). It handles various business software applications I&#8217;ve developed and also the business related email I ...]]></description>
			<content:encoded><![CDATA[<p><strong>Update</strong>: As of February 9th, 2011 both the email and support portal have been transferred successfully and are functional.</p>
<p>Over the next 3-6 days I&#8217;ll be in the transition period of changing web hosts for the business site I run ( igsweb.net ). It handles various business software applications I&#8217;ve developed and also the business related email I receive. I&#8217;ll be trying to minimize downtime of the email and support portal as best I can by getting the DNS updated as soon as possible, but as the engineers will always say, it can take up to 3 days to update the DNS across the web.</p>
<p><em>This website and software attached to it will not be affected by the change. Please be patient if attempt to contact me by email, as it may get bounced back if an email is  sent during the downtime of the transition.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/02/07/business-website-igsweb-net-changing-web-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marketing Campaign Creativity</title>
		<link>http://mytorrey.com/2011/01/29/marketing-campaign-creativity/</link>
		<comments>http://mytorrey.com/2011/01/29/marketing-campaign-creativity/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 02:21:29 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[affiliate program]]></category>
		<category><![CDATA[creativity]]></category>
		<category><![CDATA[dj]]></category>
		<category><![CDATA[first marketing]]></category>
		<category><![CDATA[marketing campaign]]></category>
		<category><![CDATA[software solution]]></category>
		<category><![CDATA[streaming media]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=225</guid>
		<description><![CDATA[In the past I wasn&#8217;t really part of any marketing campaign, just the development side of things. I must say this is quite a blast trying to come up with various ideas to grab people&#8217;s attention to draw them toward a product. You could compare the process to actually developing a software solution in that ...]]></description>
			<content:encoded><![CDATA[<p>In the past I wasn&#8217;t really part of any marketing campaign, just the development side of things. I must say this is quite a blast trying to come up with various ideas to grab people&#8217;s attention to draw them toward a product. You could compare the process to actually developing a software solution in that you have to be just as creative to find a solution to various objectives and goals.</p>
<p>This week in addition to the marketing campaign for Ingenious Streaming Media DJ, I need to work on an affiliate program for it in one special market. I noticed that some places charge for joining their affiliate, but frankly I don&#8217;t understand that. If someone is bringing you sales and leads why charge a setup or joining fee?</p>
<p>We&#8217;ll have to see how my first marketing campaign goes, but I&#8217;m feeling pretty good about everything. Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/01/29/marketing-campaign-creativity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surreal Estates</title>
		<link>http://mytorrey.com/2011/01/25/surreal-estates/</link>
		<comments>http://mytorrey.com/2011/01/25/surreal-estates/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 03:16:30 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=94</guid>
		<description><![CDATA[Background Surreal Estates is a virtual land company operating out of Second Life. They&#8217;ve been in operation for over 5 years controlling 150+ simulator servers, while providing land, support, and service to several hundred users at a time. With quality of service and flexible virtual land pricing options, Surreal Estates is topping the 2 million ...]]></description>
			<content:encoded><![CDATA[<p><strong>Background</strong><br />
Surreal Estates is a virtual land company operating out of Second Life. They&#8217;ve been in operation for over 5 years controlling 150+ simulator servers, while providing land, support, and service to several hundred users at a time. With quality of service and flexible virtual land pricing options, Surreal Estates is topping the 2 million dollar profit mark.</p>
<p><strong>Objectives</strong><br />
I. Easy to Use Payment System for Staff and Tenants.<br />
With the failure of their old payment Surreal Estates needed a ground up solution that could integrate tenant data and process their payments again as soon as possible. A unique permission based object was also necessary to manage the land parcel by management and for tenants to use on their own.</p>
<p>II. Track Payment History and Land Transactions<br />
Previous tracking of payment history and land transactions lacked several important integrity checks. They needed a tracking solution to streamline analysis and make management of the land parcels and their financials an easy task.</p>
<p>III. Website for Staff and Management Operations<br />
With no earlier method for collaboration or solid reporting solution, Surreal was looking for a way to compile their business data into useful dashboard style information and input screens for admins to handle day to day operations.</p>
<p><strong>Solution</strong><br />
I. Versatile Tier Payment Utilising LSL<br />
Using Linden Labs&#8217; LSL scripting language a multiple state payment object was developed that interacted with admins and tenants based on group permissions.</p>
<p>II. Dedicated SQL Server Backend<br />
A new database schema was developed and included the importing of previous system data to seamlessly continue where their operation left off. This backend not only integrated with the LSL scripting in-world, but also tied the web interface in with realtime information. Each payment or management transaction was logged with additional information to maintain the best level of data integrity.</p>
<p>III. Web Interface Management Dashboard<br />
A powerful web interface was created that used a user and group based permissions system. It allowed for various staff to handle the roles they were assigned without giving them too much administrative access. By using the realtime information gathered by the SQL Server, Surreal management had easy access to reports and dashboard style information about daily, monthly, and yearly business data.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/01/25/surreal-estates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingenious Streaming Media DJ (SHOUTcast)</title>
		<link>http://mytorrey.com/2011/01/19/ingenious-streaming-media-dj-shoutcast-version/</link>
		<comments>http://mytorrey.com/2011/01/19/ingenious-streaming-media-dj-shoutcast-version/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 14:41:01 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[audio content]]></category>
		<category><![CDATA[dj]]></category>
		<category><![CDATA[free licenses]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[important things]]></category>
		<category><![CDATA[million times]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[nice price]]></category>
		<category><![CDATA[playlist]]></category>
		<category><![CDATA[price tag]]></category>
		<category><![CDATA[radio talk show]]></category>
		<category><![CDATA[sam broadcaster]]></category>
		<category><![CDATA[shoutcast]]></category>
		<category><![CDATA[software application]]></category>
		<category><![CDATA[streaming media]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=74</guid>
		<description><![CDATA[I&#8217;ve been putting in a lot of hours recently trying to finish up what I believe a lot of people are going to love to use. It&#8217;s a software application that let&#8217;s you stream audio content over the web. Some examples would be that you want to create a playlist of songs that play while ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been putting in a lot of hours recently trying to finish up what I believe a lot of people are going to love to use. It&#8217;s a software application that let&#8217;s you stream audio content over the web. Some examples would be that you want to create a playlist of songs that play while you&#8217;re at work so you can listen to music you enjoy or hosting your own radio talk show that people can listen to all over the world.</p>
<p>One of the most important things I went for when designing this software was to make it super user friendly so that anyone can use it. If you&#8217;re familiar with a program called Sam Broadcaster or any of the similar programs out there, you&#8217;d remember how confusing that was the first time you loaded it up. This program has similar functionality and is a million times easier to use and less bloated, not mention it&#8217;s going to have a nice price tag when I&#8217;m done that won&#8217;t hurt your bank account.</p>
<p>I can&#8217;t wait to get this out there in the world and give out a few free licenses to testers and get some feedback. Stay tuned for more information!</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/01/19/ingenious-streaming-media-dj-shoutcast-version/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pamela Rose Auction, LLC.</title>
		<link>http://mytorrey.com/2011/01/10/pamela-rose-auction/</link>
		<comments>http://mytorrey.com/2011/01/10/pamela-rose-auction/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 00:29:20 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=47</guid>
		<description><![CDATA[Background Pamela Rose Auction Company, LLC is a leading real estate and personal property auction company that has offices located in the midwest including headquarters in Maumee, Ohio, Troy, Michigan, and Florida. Pamela Rose has been licensed in the auction business since 1987. With experience, knowledge, and dedication, Pamela Rose Auction Co. LLC stands ready ...]]></description>
			<content:encoded><![CDATA[<p><strong>Background<br />
</strong><br />
Pamela Rose Auction Company, LLC is a leading real estate and personal property auction company that has offices located in the midwest including headquarters in Maumee, Ohio, Troy, Michigan, and Florida. Pamela Rose has been licensed in the auction business since 1987. With experience, knowledge, and dedication, Pamela Rose Auction Co. LLC stands ready to conduct auction sales from charity events to multi-million dollar projects.</p>
<p><strong>Objectives</strong></p>
<p>I. Expand Information Capture Capabilities<br />
Operating on a limited legacy software system, they needed a custom solution with a versatile &amp; flexible database backend that would allow them to link the various pieces of collected information together.</p>
<p>II. Modernize Internal Processes<br />
Most of the business was ran using paper data collection, with a minimal data entry system to hold the information. Pamela Rose &amp; staff wanted to stream line this work process and digitalize their records for a more accessible and searchable format.</p>
<p>III. Improve Auction Agent Mobility &amp; Communication<br />
The auction agents operated through company/personal email while on the road for their auction information. They needed a better way to become mobile and keep the office records at their fingertips no matter where they might be.</p>
<p><strong>Solution</strong></p>
<p>I. Expanded Database<br />
We converted their legacy database system to Microsoft SQL Server, optimized the columns and table structures, and created relationships between the data to tie all their auction processes together.</p>
<p>II. Process Management<br />
Meeting with the client and discussing the work flow we created a process in the software to cut hours off their usual work and digitalize everything in the process.</p>
<p>III. Smart Client Technology<br />
With the auction agents working out of the office almost all of the time we took advantage of Smart Client technology. This technology makes it possible to take your work with you no matter where you are as long as you have an internet connection. Combing this with ClickOnce we developed a completely mobile product that was also automatically updatable when new versions get released.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/01/10/pamela-rose-auction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monclova Township Pumps</title>
		<link>http://mytorrey.com/2011/01/10/monclova-township-gas-pumps/</link>
		<comments>http://mytorrey.com/2011/01/10/monclova-township-gas-pumps/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 14:54:24 +0000</pubDate>
		<dc:creator>Torrey</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://mytorrey.com/?p=36</guid>
		<description><![CDATA[Background The Township of Monclova is a beautiful area of Ohio that lies partly upon the Maumee River at the head of the Rapids, and is included in the oldest settled sections of the Maumee Valley. Objectives I. Extend Township Fuel Pumps Working with a fuel pump system hardware that has limited data capabilities develop ...]]></description>
			<content:encoded><![CDATA[<p><strong>Background</strong></p>
<p>The Township of Monclova is a beautiful area of Ohio that lies partly upon the Maumee River at the head of the Rapids, and is included in the oldest settled sections of the Maumee Valley.</p>
<p><strong>Objectives</strong></p>
<p>I. Extend Township Fuel Pumps<br />
Working with a fuel pump system hardware that has limited data capabilities develop an information system to capture and store the gas pump transactions.</p>
<p>II. Reporting<br />
Using data stored from the fuel transactions create detailed reports that can be used by the township and other local governments for fuel accounting.</p>
<p><strong>Solution</strong></p>
<p>I. Database Backend<br />
Taking advantage of a Microsoft SQL Server backend, we provided the fuel system with an integration to dump its transactions. Using a SQL Server provides the township with more functionality that&#8217;s scalable and flexible for all their management needs.</p>
<p>II. Integrated Reporting<br />
With the client needing very few reports the reporting solution was directly integrated into the software for fast, easy, and on the spot reporting.</p>
]]></content:encoded>
			<wfw:commentRss>http://mytorrey.com/2011/01/10/monclova-township-gas-pumps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

