<?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>Eclipsed4utoo&#039;s Blog&#187; wpf</title>
	<atom:link href="http://eclipsed4utoo.com/blog/tag/wpf/feed/" rel="self" type="application/rss+xml" />
	<link>http://eclipsed4utoo.com/blog</link>
	<description>Not Your Ordinary Programmer</description>
	<lastBuildDate>Fri, 23 Jul 2010 18:10:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WPF &#8211; Dynamically Loading LINQ-To-SQL Tables and Columns Into ComboBox</title>
		<link>http://eclipsed4utoo.com/blog/wpf-loading-linqtosql-tables-columns-combobox/</link>
		<comments>http://eclipsed4utoo.com/blog/wpf-loading-linqtosql-tables-columns-combobox/#comments</comments>
		<pubDate>Tue, 25 May 2010 22:00:21 +0000</pubDate>
		<dc:creator>Ryan Alford</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ-To-SQL]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://eclipsed4utoo.com/blog/?p=338</guid>
		<description><![CDATA[Here is some code to dynamically load the table names into a ComboBox.  Then on the selection of a specific table, load the columns for that table into a second ComboBox.
First is the XAML:
&#60;Window x:Class="WpfApplication4.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="MainWindow" Height="350" Width="525"&#62;    &#60;Grid&#62;        &#60;ComboBox [...]]]></description>
			<content:encoded><![CDATA[<p>Here is some code to dynamically load the table names into a ComboBox.  Then on the selection of a specific table, load the columns for that table into a second ComboBox.</p>
<p>First is the XAML:</p>
<pre style="font-size: 14px !important; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; font-family: monospace !important; overflow-x: scroll; overflow-y: scroll; max-height: 500px; width: 450px; display: block; background-position: initial initial; background-repeat: initial initial; padding: 12px; margin: 0px; border: 1px dotted #000000;"><span style="color: #000088; padding: 0px; margin: 0px;">&lt;Window</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #660066; padding: 0px; margin: 0px;">x:Class</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"WpfApplication4.MainWindow"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #660066; padding: 0px; margin: 0px;">xmlns</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"http://schemas.microsoft.com/winfx/2006/xaml/presentation"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #660066; padding: 0px; margin: 0px;">xmlns:x</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"http://schemas.microsoft.com/winfx/2006/xaml"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #660066; padding: 0px; margin: 0px;">Title</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"MainWindow"</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #660066; padding: 0px; margin: 0px;">Height</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"350"</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #660066; padding: 0px; margin: 0px;">Width</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"525"</span><span style="color: #000088; padding: 0px; margin: 0px;">&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;Grid&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;ComboBox</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Name</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"cboTables"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Height</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"23"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">HorizontalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Left"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Margin</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"186,60,0,0"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">VerticalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Top"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Width</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"120"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">ItemsSource</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"{Binding}"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Selectionchanged</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"cboTables_Selectionchanged"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">DisplayMemberPath</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"RowType.Name"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">SelectedValuePath</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"RowType.DataMembers"</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #000088; padding: 0px; margin: 0px;">/&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        <br style="padding: 0px; margin: 0px;" />        </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;ComboBox</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Height</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"23"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">HorizontalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Left"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Margin</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"186,107,0,0"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Name</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"cboColumns"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">VerticalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Top"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Width</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"120"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">ItemsSource</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"{Binding}"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">DisplayMemberPath</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"MappedName"</span><span style="color: #000088; padding: 0px; margin: 0px;">/&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;Label</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Name</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"label1"</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Content</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Tables:"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Height</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"28"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">HorizontalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Left"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Margin</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"134,60,0,0"</span><span style="color: #000000; padding: 0px; margin: 0px;">  <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">VerticalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Top"</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #000088; padding: 0px; margin: 0px;">/&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;Label</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Name</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"label2"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Content</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Columns:"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Height</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"28"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">HorizontalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Left"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">Margin</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"121,107,0,0"</span><span style="color: #000000; padding: 0px; margin: 0px;"> <br style="padding: 0px; margin: 0px;" />            </span><span style="color: #660066; padding: 0px; margin: 0px;">VerticalAlignment</span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #008800; padding: 0px; margin: 0px;">"Top"</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #000088; padding: 0px; margin: 0px;">/&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;/Grid&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></span><span style="color: #000088; padding: 0px; margin: 0px;">&lt;/Window&gt;</span></pre>
<p>Notice that we have set the <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">ItemsSource</span> attribute to <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">{Binding}</span>. This lets the control know that we are binding data to the control(big surprise). Notice that I have also set the<span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">DisplayMemberPath</span> and <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">SelectedValuePath</span> in the Tables ComboBox and the<span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">DisplayMemberPath</span> in the Columns ComboBox.</p>
<p>Next is the code:</p>
<pre style="font-size: 14px !important; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; font-family: monospace !important; overflow-x: scroll; overflow-y: scroll; max-height: 500px; width: 450px; display: block; background-position: initial initial; background-repeat: initial initial; padding: 12px; margin: 0px; border: 1px dotted #000000;"><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">using</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">System</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Collections</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">ObjectModel</span><span style="color: #999900; padding: 0px; margin: 0px;">;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">using</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">System</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Windows</span><span style="color: #999900; padding: 0px; margin: 0px;">;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">using</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">System</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Windows</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Controls</span><span style="color: #999900; padding: 0px; margin: 0px;">;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">namespace</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">WpfApplication4</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #008200; padding: 0px; margin: 0px;">/// &lt;summary&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #008200; padding: 0px; margin: 0px;">/// Interaction logic for Mainwindow.xaml</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #008200; padding: 0px; margin: 0px;">/// &lt;/summary&gt;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">public</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">partial</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">class</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">MainWindow</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #999900; padding: 0px; margin: 0px;">:</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">Window</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">public</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">MainWindow</span><span style="color: #999900; padding: 0px; margin: 0px;">()</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #990099; padding: 0px; margin: 0px;">InitializeComponent</span><span style="color: #999900; padding: 0px; margin: 0px;">();</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">this</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Loaded</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #999900; padding: 0px; margin: 0px;">+=</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">new</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">RoutedEventHandler</span><span style="color: #999900; padding: 0px; margin: 0px;">(</span><span style="color: #990099; padding: 0px; margin: 0px;">MainWindow_Loaded</span><span style="color: #999900; padding: 0px; margin: 0px;">);</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">}</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">void</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">MainWindow_Loaded</span><span style="color: #999900; padding: 0px; margin: 0px;">(</span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">object</span><span style="color: #000000; padding: 0px; margin: 0px;"> sender</span><span style="color: #999900; padding: 0px; margin: 0px;">,</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">RoutedEventArgs</span><span style="color: #000000; padding: 0px; margin: 0px;"> e</span><span style="color: #999900; padding: 0px; margin: 0px;">)</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #008200; padding: 0px; margin: 0px;">// creates a new instance of our DataContext</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">using</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #999900; padding: 0px; margin: 0px;">(</span><span style="color: #990099; padding: 0px; margin: 0px;">InformationDataContext</span><span style="color: #000000; padding: 0px; margin: 0px;"> db </span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">new</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">InformationDataContext</span><span style="color: #999900; padding: 0px; margin: 0px;">())</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />                </span><span style="color: #008200; padding: 0px; margin: 0px;">// gets the list of tables</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />                </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">var</span><span style="color: #000000; padding: 0px; margin: 0px;"> tableList </span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #000000; padding: 0px; margin: 0px;"> db</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Mapping</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">GetTables</span><span style="color: #999900; padding: 0px; margin: 0px;">();</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />                cboTables</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">ItemsSource</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #000000; padding: 0px; margin: 0px;"> tableList</span><span style="color: #999900; padding: 0px; margin: 0px;">;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            </span><span style="color: #999900; padding: 0px; margin: 0px;">}</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">}</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">private</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">void</span><span style="color: #000000; padding: 0px; margin: 0px;"> cboTables_Selectionchanged</span><span style="color: #999900; padding: 0px; margin: 0px;">(</span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">object</span><span style="color: #000000; padding: 0px; margin: 0px;"> sender</span><span style="color: #999900; padding: 0px; margin: 0px;">,</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">SelectionchangedEventArgs</span><span style="color: #000000; padding: 0px; margin: 0px;"> e</span><span style="color: #999900; padding: 0px; margin: 0px;">)</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">{</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />            cboColumns</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">ItemsSource</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #999900; padding: 0px; margin: 0px;">=</span><span style="color: #000000; padding: 0px; margin: 0px;"> cboTables</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">SelectedValue</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #006699; font-weight: bold; padding: 0px; margin: 0px;">as</span><span style="color: #000000; padding: 0px; margin: 0px;"> </span><span style="color: #990099; padding: 0px; margin: 0px;">ReadOnlyCollection</span><span style="color: #999900; padding: 0px; margin: 0px;">&lt;</span><span style="color: #990099; padding: 0px; margin: 0px;">System</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Data</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Linq</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">Mapping</span><span style="color: #999900; padding: 0px; margin: 0px;">.</span><span style="color: #990099; padding: 0px; margin: 0px;">MetaDataMember</span><span style="color: #999900; padding: 0px; margin: 0px;">&gt;;</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />        </span><span style="color: #999900; padding: 0px; margin: 0px;">}</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />    </span><span style="color: #999900; padding: 0px; margin: 0px;">}</span><span style="color: #000000; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></span><span style="color: #999900; padding: 0px; margin: 0px;">}</span></pre>
<p>We use the <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">GetTables</span> method of the DataContext class to get the list of tables. The objects themselves are of type <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">System.Data.Linq.Mapping.AttributedMetaTable</span>. Two properties of this class are <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">RowType.Name</span> and <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">RowType.DataMembers</span>. The <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">RowType.Name</span> is the name of the table without the &#8220;dbo&#8221; in front. The <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">RowType.DataMembers</span> is a list of the columns of that table.<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />The <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">RowType.DataMembers</span> objects are of type <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">System.Data.Linq.Mapping.MetaDataMember</span>. One property of this class is the <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">MappedName</span> property that we are using as the <span style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; color: #000000; font-family: monospace !important; background-position: initial initial; background-repeat: initial initial; padding: 2px; margin: 0px; border: 1px dotted #000000;">DisplayMemberPath</span>. This gives us the name of the column without any extra data.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsed4utoo.com/blog/wpf-loading-linqtosql-tables-columns-combobox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF &#8211; Create Animation Programmatically</title>
		<link>http://eclipsed4utoo.com/blog/wpf-create-animation-programmatically/</link>
		<comments>http://eclipsed4utoo.com/blog/wpf-create-animation-programmatically/#comments</comments>
		<pubDate>Thu, 20 May 2010 22:00:48 +0000</pubDate>
		<dc:creator>Ryan Alford</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[storyboard]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://eclipsed4utoo.com/blog/?p=332</guid>
		<description><![CDATA[This is a short code snippet on creating an animation in WPF through code.
In my Twitter app that I have been working on, I was recently doing some optimizations.  When I first did the app, I was new to WPF and knew nothing about animations.  After spending time in Silverlight, I used that knowledge to [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short code snippet on creating an animation in WPF through code.</p>
<p>In my <a href="http://eclipsed4utoo.com/blog/twiteclipse-twitter-desktop-client/" target="_blank">Twitter</a> app that I have been working on, I was recently doing some optimizations.  When I first did the app, I was new to WPF and knew nothing about animations.  After spending time in Silverlight, I used that knowledge to do some animations in WPF.</p>
<p>I wanted to do simple &#8220;fade-in&#8221; and &#8220;fade-out&#8221; animations when removing tweets from view and adding new tweets to the view.   And being the person that I am, I like doing this stuff in code.  While I like XAML a lot, I still like writing the code.  So here is how to do an animation that changes the Opacity property programmatically.</p>
<pre class="brush: csharp;">
// because I am doing these as extension methods, they
//   will be available to all UIElement objects, which are
//   basically all controls that can be added to the GUI
public static class ControlAnimationExtensionMethods
{
    public static void FadeIn(this UIElement targetControl)
    {
        DoubleAnimation fadeInAnimation = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromSeconds(1.5)));
        Storyboard.SetTarget(fadeInAnimation, targetControl);
        Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
        Storyboard sb = new Storyboard();
        sb.Children.Add(fadeInAnimation);
        sb.Begin();
    }

    public static void FadeOut(this UIElement targetControl)
    {
        DoubleAnimation fadeInAnimation = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(1.5)));
        Storyboard.SetTarget(fadeInAnimation, targetControl);
        Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
        Storyboard sb = new Storyboard();
        sb.Children.Add(fadeInAnimation);
        sb.Begin();
    }
}
</pre>
<p>This code is useful when dynamically creating controls that you want to do animations on.</p>
<pre class="brush: csharp;">
TextBlock tb = new TextBlock();
tb.Name = &quot;textBlock1&quot;;
// set more property values

tb.FadeIn();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://eclipsed4utoo.com/blog/wpf-create-animation-programmatically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF &#8211; Using an Application Configuration File</title>
		<link>http://eclipsed4utoo.com/blog/wpf-application-configuration-file/</link>
		<comments>http://eclipsed4utoo.com/blog/wpf-application-configuration-file/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:16:01 +0000</pubDate>
		<dc:creator>Ryan Alford</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[app.config]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[ConfigurationManager]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://eclipsed4utoo.com/blog/?p=292</guid>
		<description><![CDATA[This is going to be a real short post about an issue that I ran into recently with WPF.
I was wanting to use an app config file with my WPF application.  I was running into an issue with the ConfigurationManager calls not getting the information from the app config file.
I added the app config just [...]]]></description>
			<content:encoded><![CDATA[<p>This is going to be a real short post about an issue that I ran into recently with WPF.</p>
<p>I was wanting to use an app config file with my WPF application.  I was running into an issue with the ConfigurationManager calls not getting the information from the app config file.</p>
<p>I added the app config just like I would in a Windows Form..<br />
<img class="alignnone size-full wp-image-293" title="AppConfig" src="http://eclipsed4utoo.com/blog/wp-content/uploads/2010/02/AppConfig.png" alt="AppConfig" width="679" height="418" /></p>
<p>My app config file looked something like this&#8230;</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;configuration&gt;
  &lt;appSettings&gt;
     &lt;add key=&quot;myKey&quot; value=&quot;SomeValue&quot; /&gt;
  &lt;/appSettings&gt;
&lt;/configuration&gt;
</pre>
<p>I was using the standard code that works fine in Windows Forms(needed to add a reference to the System.Configuration):</p>
<pre class="brush: csharp;">
using System.Configuration

private void Window_Loaded(object sender, RoutedEventArgs e)
{
     var myKey = ConfigurationManager.AppSettings[&quot;myKey&quot;];
}
</pre>
<p>However, the app settings were not being found.  After scratching my head for a while and searching numerous places online, I found a small response on a forum.  None of the &#8220;MVP&#8221;s picked up on it.  It was because of the name of the app config file.  By default, VS2008 added the file as &#8220;App1.config&#8221;.  For some reason, the ConfigurationManager class looks for a file named exactly &#8220;App.config&#8221;.</p>
<p>So simply changing the name of the config file to &#8220;App.config&#8221; fixed the issue and the code started working.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsed4utoo.com/blog/wpf-application-configuration-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TwitEclipse &#8211; My Twitter Desktop Client</title>
		<link>http://eclipsed4utoo.com/blog/twiteclipse-twitter-desktop-client/</link>
		<comments>http://eclipsed4utoo.com/blog/twiteclipse-twitter-desktop-client/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 20:15:26 +0000</pubDate>
		<dc:creator>Ryan Alford</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[twitter desktop client]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://eclipsed4utoo.com/blog/?p=195</guid>
		<description><![CDATA[I have released a BETA version of my Twitter Desktop Client called TwitEclipse.  I have been writing a Twitter API library in .Net for a while now, and figured I might as well write a desktop client also.
The client uses .Net 3.5 SP1 and WPF.  It was a great learning experience to learn WPF since [...]]]></description>
			<content:encoded><![CDATA[<p>I have released a BETA version of my Twitter Desktop Client called TwitEclipse.  I have been writing a Twitter API library in .Net for a while now, and figured I might as well write a desktop client also.</p>
<p>The client uses .Net 3.5 SP1 and WPF.  It was a great learning experience to learn WPF since I had almost no previous experience with it.</p>
<p>If you want to download it and test it out, you can download it from <a title="TwitEclipse" href="http://eclipsed4utoo.com/TwitEclipse" target="_blank">here</a>.  Remember that it is a BETA.  You could run into issues.  If you do, be sure to let me know so I can fix them.  I will also be adding additional features to the app once I get a chance.</p>
<p>I will be releasing my Twitter API library soon also.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsed4utoo.com/blog/twiteclipse-twitter-desktop-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
