<?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>iDev stream</title>
	<atom:link href="http://www.idevstream.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.idevstream.com</link>
	<description>Technology Blog</description>
	<lastBuildDate>Sat, 05 May 2012 06:18:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Silverlight WebAqua &#8211; Unlicensed Version</title>
		<link>http://www.idevstream.com/?p=255</link>
		<comments>http://www.idevstream.com/?p=255#comments</comments>
		<pubDate>Sat, 05 May 2012 03:31:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Fish Eye]]></category>
		<category><![CDATA[FishEye]]></category>
		<category><![CDATA[FishEye Navigation]]></category>
		<category><![CDATA[Silverlight Fish Eye]]></category>
		<category><![CDATA[Silverlight FishEye]]></category>
		<category><![CDATA[Silverlight Web Aqua]]></category>
		<category><![CDATA[Silverlight WebAqua]]></category>
		<category><![CDATA[Unlicensed Version]]></category>
		<category><![CDATA[Web Aqua]]></category>
		<category><![CDATA[WebAqua]]></category>
		<category><![CDATA[WebAqua Navigation]]></category>
		<category><![CDATA[WebAqua Unlicensed Version]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=255</guid>
		<description><![CDATA[We have been using a WebAqua Silverlight Navigation control in our application for several years.  Recently, after implementing a few changes to the application and deploying to our test server, we started seeing an “Unlicensed Version” message in the middle of the application.  Our version was licensed and had no issues until the most recent [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=255&text=Silverlight WebAqua &ndash; Unlicensed Version" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>We have been using a WebAqua Silverlight Navigation control in our application for several years.  Recently, after implementing a few changes to the application and deploying to our test server, we started seeing an “Unlicensed Version” message in the middle of the application.  Our version was licensed and had no issues until the most recent set of changes.</p>
<p>Over last few weeks I’ve been emailing WebAqua Tech Support and spent several hours on their Live Chat trying to resolve the issue without any success.  After all licensing attempts have failed, I went down the path of backtracking through our code, which led me to my solution.</p>
<h4><strong>Solution</strong></h4>
<p>The issue was caused by the levels of nesting.   To begin with, the FishEye control was nested 11 layers deep inside Border controls and Grids.  We have 10 Border controls with a Grid inside used for layout.  The issue came up when I added another layer of nesting by wrapping everything in a Grid to add a “Loading…” message that overlays the whole User Control.  This seems very odd, but the message went away after I removed the outer Grid.</p>
<p>I hope that this solution will come in handy for someone with a similar issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight Telerik Transitions with User Controls</title>
		<link>http://www.idevstream.com/?p=239</link>
		<comments>http://www.idevstream.com/?p=239#comments</comments>
		<pubDate>Mon, 20 Feb 2012 04:47:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Telerik]]></category>
		<category><![CDATA[action viewmodel]]></category>
		<category><![CDATA[ChangePropertyAction]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[data trigger]]></category>
		<category><![CDATA[DataTrigger]]></category>
		<category><![CDATA[mvvm]]></category>
		<category><![CDATA[RadTransitionControl]]></category>
		<category><![CDATA[silverlight 5]]></category>
		<category><![CDATA[Transition]]></category>
		<category><![CDATA[trigger]]></category>
		<category><![CDATA[User Control]]></category>
		<category><![CDATA[View]]></category>
		<category><![CDATA[view model]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=239</guid>
		<description><![CDATA[&#160; I was looking to implement Silverlight Telerik Transitions in my Silverlight 5 application with User Controls to walk a user through a wizard.  My initial approach was to use a Visual State Manager, which would allow me to keep all the UI logic in the XAML.  This did not work well with Telerik Transitions.  [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=239&text=Silverlight Telerik Transitions with User Controls" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>&nbsp;</p>
<p>I was looking to implement <a href="http://demos.telerik.com/silverlight/#TransitionControl/MappedLightTransitions" target="_blank">Silverlight Telerik Transitions</a> in my Silverlight 5 application with User Controls to walk a user through a wizard.  My initial approach was to use a Visual State Manager, which would allow me to keep all the UI logic in the XAML.  This did not work well with Telerik Transitions.  I decided to use <strong>DataTriggers </strong>that modified the state of the UI  based on a <strong>WizardState </strong>enumeration on my <strong>View Model</strong>.</p>
<p><strong><span style="text-decoration: underline;">View Model</span></strong></p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; height: 700px; max-height: 700px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">Namespace</span> ViewModels.Employee</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> EmployeeViewModel</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Inherits</span> BaseViewModel</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#Region</span> <span style="color: #006080;">"Properties"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Private</span> _employeeSetupState <span style="color: #0000ff;">As</span> EmployeeSetupStateEnum</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> EmployeeSetupState <span style="color: #0000ff;">As</span> EmployeeSetupStateEnum</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Return</span> _employeeSetupState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">Set</span>(<span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> EmployeeSetupStateEnum)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">If</span> _employeeSetupState &lt;&gt; value <span style="color: #0000ff;">Then</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    _employeeSetupState = value</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    NotifyPropertyChanged(<span style="color: #006080;">"CanMoveForward"</span>)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    NotifyPropertyChanged(<span style="color: #006080;">"CanMoveBack"</span>)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    NotifyPropertyChanged(<span style="color: #006080;">"EmployeeSetupState"</span>)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">ReadOnly</span> <span style="color: #0000ff;">Property</span> CanMoveForward() <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Boolean</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Dim</span> newState <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> = EmployeeSetupState + 1</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">If</span> [<span style="color: #0000ff;">Enum</span>].IsDefined(<span style="color: #0000ff;">GetType</span>(EmployeeSetupStateEnum), newState) <span style="color: #0000ff;">Then</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">True</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">False</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">ReadOnly</span> <span style="color: #0000ff;">Property</span> CanMoveBack() <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Boolean</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Dim</span> newState <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> = EmployeeSetupState - 1</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">If</span> [<span style="color: #0000ff;">Enum</span>].IsDefined(<span style="color: #0000ff;">GetType</span>(EmployeeSetupStateEnum), newState) <span style="color: #0000ff;">Then</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">True</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">False</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #008000;">' The Properties for the View Models are defined here.</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#End Region</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#Region</span> <span style="color: #006080;">"Base Overrides/Overloads"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Overrides</span> <span style="color: #0000ff;">Sub</span> Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">MyBase</span>.Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            EmployeeSetupState = 0</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            InitializeStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#End Region</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#Region</span> <span style="color: #006080;">"Public Methods"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> NextStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">If</span> CanMoveForward <span style="color: #0000ff;">Then</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                EmployeeSetupState = <span style="color: #0000ff;">CType</span>(EmployeeSetupState + 1, EmployeeSetupStateEnum)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                InitializeStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> PreviousStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">If</span> CanMoveBack <span style="color: #0000ff;">Then</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                EmployeeSetupState = <span style="color: #0000ff;">CType</span>(EmployeeSetupState - 1, EmployeeSetupStateEnum)</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                InitializeStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#End Region</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#Region</span> <span style="color: #006080;">"Private Methods"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> InitializeStep()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">Select</span> <span style="color: #0000ff;">Case</span> EmployeeSetupState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Case</span> EmployeeSetupStateEnum.EmployeeGeneralInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    EmployeeGeneralInformationViewModel.Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Case</span> EmployeeSetupStateEnum.EmployeeAddressInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    EmployeeAddressInformationViewModel.Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Case</span> EmployeeSetupStateEnum.EmployeeContactInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    EmployeeContactInformationViewModel.Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">Case</span> EmployeeSetupStateEnum.EmployeeCommentsState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    EmployeeCommentsViewModel.Initialize()</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Select</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #cc6633;">#End Region</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #008000;">''' &lt;summary&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #008000;">''' States of the Employee setup process. These steps</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #008000;">''' are executed in the order specified.</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #008000;">''' &lt;/summary&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #008000;">''' &lt;remarks&gt;&lt;/remarks&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Enum</span> EmployeeSetupStateEnum</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        EmployeeGeneralInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        EmployeeAddressInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        EmployeeContactInformationState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        EmployeeCommentsState</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Enum</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">End</span> Namespace</pre>
</div>
</div>
<p>In the code above, I have an enumeration that specifies valid states for my employee setup process (specified in the order I want to show these states) and a property in my View Model that holds the current state of the employee setup process. I have a trigger that calls the <em>Initialize() </em>method on my View Model when the page loads.  During the initialization process, my <em>EmployeeSetupState</em> is set to the first step and the view model for that step is initialized by calling the <em>InitializeStep()</em> method.  I have a property that determines if the current <em>EmployeeSetupState</em> has a previous or next step.  My View Model also holds a reference to the View Models for each of the User Controls that make up my employee setup states (not shown in the code above).</p>
<p><span style="text-decoration: underline;"><strong>View</strong></span></p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 700px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">UserControl.Resources</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">vm:EmployeeViewModel</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="ViewModel"</span><span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">UserControl.Resources</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid</span> <span style="color: #ff0000;">xmlns:ei</span><span style="color: #0000ff;">="http://schemas.microsoft.com/expression/2010/interactions"</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ColumnDefinition</span> <span style="color: #ff0000;">Width</span><span style="color: #0000ff;">="*"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">RowDefinition</span> <span style="color: #ff0000;">Height</span><span style="color: #0000ff;">="*"</span> <span style="color: #ff0000;">MinHeight</span><span style="color: #0000ff;">="250"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">RowDefinition</span> <span style="color: #ff0000;">Height</span><span style="color: #0000ff;">="Auto"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:EventTrigger</span> <span style="color: #ff0000;">EventName</span><span style="color: #0000ff;">="Loaded"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:CallMethodAction</span> <span style="color: #ff0000;">MethodName</span><span style="color: #0000ff;">="Initialize"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                 <span style="color: #ff0000;">TargetObject</span><span style="color: #0000ff;">="{Binding Mode=OneWay}"</span><span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:EventTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">telerik:RadTransitionControl</span> <span style="color: #ff0000;">Content</span><span style="color: #0000ff;">="{Binding EmployeeSetupState}"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">telerik:RadTransitionControl.Transition</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">telerik:FadeTransition</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">telerik:RadTransitionControl.Transition</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">telerik:RadTransitionControl.ContentTemplate</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">DataTemplate</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid</span> <span style="color: #ff0000;">Margin</span><span style="color: #0000ff;">="5,10,5,10"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ColumnDefinition</span> <span style="color: #ff0000;">Width</span><span style="color: #0000ff;">="*"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">RowDefinition</span> <span style="color: #ff0000;">Height</span><span style="color: #0000ff;">="*"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">uc:EmployeeGeneralInformationView</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="EmployeeGeneralInformationView"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">DataContext</span><span style="color: #0000ff;">="{Binding Source=ViewModel, Path=EmployeeGeneralInformationViewModel, Mode=TwoWay}"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">uc:EmployeeAddressInformationView</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="EmployeeAddressInformationView"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">DataContext</span><span style="color: #0000ff;">="{Binding Source=ViewModel, Path=EmployeeAddressInformationViewModel, Mode=TwoWay}"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">uc:EmployeeContactInformationView</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="EmployeeContactInformationView"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">DataContext</span><span style="color: #0000ff;">="{Binding Source=ViewModel, Path=EmployeeContactInformationViewModel, Mode=TwoWay}"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">uc:EmployeeCommentsView</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="EmployeeCommentsView"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #ff0000;">DataContext</span><span style="color: #0000ff;">="{Binding Source=ViewModel, Path=EmployeeCommentsViewModel, Mode=TwoWay}"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ei:DataTrigger</span> <span style="color: #ff0000;">Binding</span><span style="color: #0000ff;">="{Binding Converter={StaticResource EnumToStringConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                        <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="EmployeeGeneralInformationState"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Visible"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeGeneralInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeAddressInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeContactInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeCommentsView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ei:DataTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:DataTrigger</span> <span style="color: #ff0000;">Binding</span><span style="color: #0000ff;">="{Binding Converter={StaticResource EnumToStringConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                        <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="EmployeeAddressInformationState"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeGeneralInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Visible"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeAddressInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeContactInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeCommentsView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ic:DataTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:DataTrigger</span> <span style="color: #ff0000;">Binding</span><span style="color: #0000ff;">="{Binding Converter={StaticResource EnumToStringConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                        <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="EmployeeContactInformationState"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeGeneralInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeAddressInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Visible"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeContactInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeCommentsView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ic:DataTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:DataTrigger</span> <span style="color: #ff0000;">Binding</span><span style="color: #0000ff;">="{Binding Converter={StaticResource EnumToStringConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                        <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="EmployeeCommentsState"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeGeneralInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeAddressInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Collapsed"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeContactInformationView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:ChangePropertyAction</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">PropertyName</span><span style="color: #0000ff;">="Visibility"</span> <span style="color: #ff0000;">Value</span><span style="color: #0000ff;">="Visible"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                <span style="color: #ff0000;">TargetName</span><span style="color: #0000ff;">="EmployeeCommentsView"</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ic:DataTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">DataTemplate</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">telerik:RadTransitionControl.ContentTemplate</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">telerik:RadTransitionControl</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">StackPanel</span> <span style="color: #ff0000;">Grid</span>.<span style="color: #ff0000;">Row</span><span style="color: #0000ff;">="1"</span> <span style="color: #ff0000;">Orientation</span><span style="color: #0000ff;">="Horizontal"</span> <span style="color: #ff0000;">HorizontalAlignment</span><span style="color: #0000ff;">="Right"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Button</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="PreviousButton"</span> <span style="color: #ff0000;">Content</span><span style="color: #0000ff;">="&amp;lt; Previous"</span>  <span style="color: #ff0000;">HorizontalAlignment</span><span style="color: #0000ff;">="Right"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="{Binding CanMoveBack, Converter={StaticResource BoolToVisibilityConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #ff0000;">Margin</span><span style="color: #0000ff;">="5"</span>  <span style="color: #ff0000;">Style</span><span style="color: #0000ff;">="{StaticResource ButtonPrimaryStyle}"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:EventTrigger</span> <span style="color: #ff0000;">EventName</span><span style="color: #0000ff;">="Click"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:CallMethodAction</span> <span style="color: #ff0000;">MethodName</span><span style="color: #0000ff;">="PreviousStep"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                         <span style="color: #ff0000;">TargetObject</span><span style="color: #0000ff;">="{Binding Mode=OneWay}"</span><span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:EventTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Button</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Button</span> <span style="color: #ff0000;">x:Name</span><span style="color: #0000ff;">="NextButton"</span> <span style="color: #ff0000;">Content</span><span style="color: #0000ff;">="Next &amp;gt;"</span> <span style="color: #ff0000;">Width</span><span style="color: #0000ff;">="70"</span> <span style="color: #ff0000;">HorizontalAlignment</span><span style="color: #0000ff;">="Right"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #ff0000;">Visibility</span><span style="color: #0000ff;">="{Binding CanMoveForward, Converter={StaticResource BoolToVisibilityConverter}}"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #ff0000;">Margin</span><span style="color: #0000ff;">="5"</span> <span style="color: #ff0000;">Style</span><span style="color: #0000ff;">="{StaticResource ButtonPrimaryStyle}"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">i:EventTrigger</span> <span style="color: #ff0000;">EventName</span><span style="color: #0000ff;">="Click"</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ic:CallMethodAction</span> <span style="color: #ff0000;">MethodName</span><span style="color: #0000ff;">="NextStep"</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                                         <span style="color: #ff0000;">TargetObject</span><span style="color: #0000ff;">="{Binding Mode=OneWay}"</span><span style="color: #0000ff;">/&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">                <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:EventTrigger</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">            <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">i:Interaction.Triggers</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Button</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">StackPanel</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Grid</span><span style="color: #0000ff;">&gt;</span></pre>
</div>
</div>
<p>In my View, I bind the <em>Content</em> property of <em>RadTransitionControl</em> to the <em>EmployeeSetupState</em> from my View Model.  The transitions happen each time the state change occurs.  The data triggers control what view displays depending on the current employee setup state.  In the data triggers I use the <em>ChangePropertyAction</em> to set the <em>Visibility</em> of the User Controls.  This separates my View Model code to only determine and set the state of the setup process and my View handles the display.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=239</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Azure Limitations and Considerations</title>
		<link>http://www.idevstream.com/?p=234</link>
		<comments>http://www.idevstream.com/?p=234#comments</comments>
		<pubDate>Thu, 24 Mar 2011 01:46:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure ad]]></category>
		<category><![CDATA[azure backup]]></category>
		<category><![CDATA[azure limitations]]></category>
		<category><![CDATA[azure storage]]></category>
		<category><![CDATA[blob]]></category>
		<category><![CDATA[database limit]]></category>
		<category><![CDATA[long running queries]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[sql azure]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=234</guid>
		<description><![CDATA[I thought that it would be a good blog post to outline some of the Azure limitations  and considerations that I have come across while working with Azure.  Keep in mind that this list is put together in March of 2011 and Azure is constantly changing. 1.  Long running queries or single transactions:  Currently Azure [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=234&text=Azure Limitations and Considerations" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>I thought that it would be a good blog post to outline some of the Azure limitations  and considerations that I have come across while working with Azure.  Keep in mind that this list is put together in March of 2011 and Azure is constantly changing.</p>
<p>1.  <strong>Long running queries or single transactions:</strong>  <span style="background-color: #ffffff;">Currently Azure will kill any connections with queries that execute over <strong>30 seconds</strong>.  Since you may share the server with others, Azure has to make sure that your query doesn’t eat up all the resources.  This same logic applies to single transactions.</span></p>
<p>2.  <strong>Support for SSRS:</strong>  Currently there is no support for SSRS in Azure, but there is word that it is coming soon.</p>
<p>3. <strong>Database backups:</strong>  Currently there is no support for database backups, but there are work arounds that allow you to backup to blob storage.</p>
<p>4.  <strong>Support for A/D (Active Directory):</strong>  There is now support for <a href="http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx" target="_blank">Windows Azure Connect</a> (currently in beta) , which provides connectivity between on-premises and Azure resources.</p>
<p>5.  <strong>Support for FILESTREAM Data type:</strong>  This data type is currently not supported in SQL Azure.  A work around would be to store a path to the blob storage.</p>
<p>6.  <strong>Database encryption:</strong>  Database encryption is currently not supported.</p>
<p>7.  <strong>Database transaction log:</strong>  There is no way to view transaction logs.</p>
<p>8.  <strong>Database Size Limitation:</strong>  The current database size limit is set at 50 Gig.  There are other <a href="http://msdn.microsoft.com/en-us/library/dd179355.aspx" target="_blank">storage options</a>:  <a href="http://msdn.microsoft.com/en-us/library/dd135733.aspx" target="_blank">Azure Blob Storage</a>, <a href="http://msdn.microsoft.com/en-us/library/dd179423.aspx" target="_blank">Azure Table Storage</a>, and <a href="http://msdn.microsoft.com/en-us/library/dd179363.aspx" target="_blank">Azure Queue Storage</a>.</p>
<p>9.  <strong>SQL Jobs:</strong> There is no <strong>SQL Agent</strong> in SQL Azure.  An alternative would be to utilize a <strong>Worker Role</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=234</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concatenate values in a List with LINQ</title>
		<link>http://www.idevstream.com/?p=231</link>
		<comments>http://www.idevstream.com/?p=231#comments</comments>
		<pubDate>Tue, 16 Nov 2010 04:13:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Aggregate]]></category>
		<category><![CDATA[concatenate list]]></category>
		<category><![CDATA[concatenate list aggregate linq]]></category>
		<category><![CDATA[linq aggregate]]></category>
		<category><![CDATA[Linq to objects]]></category>
		<category><![CDATA[query]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=231</guid>
		<description><![CDATA[I had a stored procedure that accepted a comma delimited string of id&#8217;s as a parameter. My source was a generic list of &#34;Employee&#34; objects from which I had to get the id&#8217;s and create a comma delimited string. To accomplish this I used a LINQ Aggregate Query: Dim employees As New List(Of Employee) &#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=231&text=Concatenate values in a List with LINQ" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>I had a stored procedure that accepted a comma delimited string of id&#8217;s as a parameter. My source was a generic list of <em>&quot;Employee&quot;</em> objects from which I had to get the id&#8217;s and create a comma delimited string. </p>
<p><a href="http://www.idevstream.com/wp-content/uploads/2010/11/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.idevstream.com/wp-content/uploads/2010/11/image_thumb.png" width="188" height="181" /></a> </p>
<p>To accomplish this I used a LINQ Aggregate Query: </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e059c7ab-9d19-4b39-a41b-9da9f78320d9" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #ddd; overflow: auto">
<ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px; white-space: nowrap">
<li><span style="color:#0000ff">Dim</span> employees <span style="color:#0000ff">As</span> <span style="color:#0000ff">New</span> <span style="color:#2b91af">List</span>(<span style="color:#0000ff">Of</span> <span style="color:#2b91af">Employee</span>)</li>
<li style="background: #f3f3f3">&nbsp;</li>
<li><span style="color:#0000ff">Dim</span> e1 <span style="color:#0000ff">As</span> <span style="color:#0000ff">New</span> <span style="color:#2b91af">Employee</span>() <span style="color:#0000ff">With</span> { _</li>
<li style="background: #f3f3f3">    .EmployeeId = <span style="color:#2b91af">Guid</span>.NewGuid, _</li>
<li>    .FirstName = <span style="color:#a31515">&quot;John&quot;</span>, _</li>
<li style="background: #f3f3f3">    .LastName = <span style="color:#a31515">&quot;Smith&quot;</span>, _</li>
<li>    .Position = <span style="color:#a31515">&quot;Engineer&quot;}</span></li>
<li style="background: #f3f3f3">&nbsp;</li>
<li><span style="color:#0000ff">Dim</span> e2 <span style="color:#0000ff">As</span> <span style="color:#0000ff">New</span> <span style="color:#2b91af">Employee</span>() <span style="color:#0000ff">With</span> { _</li>
<li style="background: #f3f3f3">    .EmployeeId = <span style="color:#2b91af">Guid</span>.NewGuid, _</li>
<li>    .FirstName = <span style="color:#a31515">&quot;Bob&quot;</span>, _</li>
<li style="background: #f3f3f3">    .LastName = <span style="color:#a31515">&quot;Johnson&quot;</span>, _</li>
<li>    .Position = <span style="color:#a31515">&quot;Business Analyst&quot;}</span></li>
<li style="background: #f3f3f3">&nbsp;</li>
<li>employees.Add(<span style="color:#0000ff">New</span> <span style="color:#2b91af">Employee</span>() <span style="color:#0000ff">with</span></li>
<li style="background: #f3f3f3">&nbsp;</li>
<li><span style="color:#0000ff">Dim</span> employeeIds <span style="color:#0000ff">As</span> <span style="color:#0000ff">String</span> = _</li>
<li style="background: #f3f3f3">        employees.Select(<span style="color:#0000ff">Function</span>(x) x.EmployeeId.ToString()) _</li>
<li>                    .Aggregate(<span style="color:#0000ff">Function</span>(y, z) y &amp; <span style="color:#a31515">&quot;,&quot;</span> &amp; z)</li>
</ol></div>
</p></div>
</p></div>
<p>In the example above, I used a comma as my separator.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=231</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP .NET Postback Performance &#8211; Part 2</title>
		<link>http://www.idevstream.com/?p=226</link>
		<comments>http://www.idevstream.com/?p=226#comments</comments>
		<pubDate>Sun, 19 Sep 2010 05:06:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[HiddenFieldStatePersister]]></category>
		<category><![CDATA[PageStatePersister]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[postback]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[SessionPageStatePersistor]]></category>
		<category><![CDATA[viewstate]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=226</guid>
		<description><![CDATA[In my previous post I described a performance issue I ran across due to a large amount of ViewState.&#160; Now I will discuss some possible solutions. To fix this issue I decided to store the ViewState in the Session, by overriding a PageStatePersister property to return SessionPageStatePersistor. The default page state persister is a HiddenFieldStatePersister, [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=226&text=ASP .NET Postback Performance &ndash; Part 2" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>In my <a href="http://www.idevstream.com/?p=222" target="_blank">previous post</a> I described a performance issue I ran across due to a large amount of <strong>ViewState</strong>.&#160; Now I will discuss some possible solutions. </p>
<p>To fix this issue I decided to store the <strong>ViewState</strong> in the <strong>Session</strong>, by overriding a <strong>PageStatePersister</strong> property to return <strong>SessionPageStatePersistor</strong>. The default page state persister is a <strong>HiddenFieldStatePersister</strong>, which stores <strong>ViewState</strong> as a hidden Base64-encoded string on the page.&#160; To read more about the <strong>PageStatePersister</strong>, see the following <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.pagestatepersister.aspx" target="_blank">MSDN documentation</a>.</p>
<p><font style="background-color: #ffffff"></font></p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e0ba640e-9391-4c4d-94cc-2769c466e550" class="wlWriterSmartContent">
<div style="border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid">
<div style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; font-family: verdana, tahoma, arial, sans-serif; background: #000080; color: #fff; font-weight: bold; padding-top: 2px">Code Snippet</div>
<div style="background: #ddd; max-height: 300px; overflow: auto">
<ol style="padding-bottom: 0px; margin: 0px 0px 0px 2em; padding-left: 5px; padding-right: 0px; background: #ffffff; padding-top: 0px">
<li><span style="color: #0000ff">Protected</span> <span style="color: #0000ff">Overrides</span> <span style="color: #0000ff">ReadOnly</span> <span style="color: #0000ff">Property</span> PageStatePersister() <span style="color: #0000ff">As</span> PageStatePersister </li>
<li style="background: #f3f3f3">&#160;&#160;&#160; <span style="color: #0000ff">Get</span> </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #0000ff">Return</span> <span style="color: #0000ff">New</span> SessionPageStatePersister(<span style="color: #0000ff">Me</span>) </li>
<li style="background: #f3f3f3">&#160;&#160;&#160; <span style="color: #0000ff">End</span> <span style="color: #0000ff">Get</span> </li>
<li><span style="color: #0000ff">End</span> <span style="color: #0000ff">Property</span> </li>
</ol></div>
</p></div>
</p></div>
</p>
<p>This functionality can be implemented as needed for each page.&#160; I implemented above code only for the few pages that were performing poorly and got the following results:</p>
<ul>
<ul>
<li>From 143K per postback to 13k per postback </li>
<li><font style="background-color: #ffffff">From 188K per postback</font> to 2k per postback </li>
<li><font style="background-color: #ffffff">From 700k per postback</font> to 1k per postback </li>
<li><font style="background-color: #ffffff">From 244K per postback</font> to 1k per postback </li>
</ul>
</ul>
<p>To implement this functionality application wide, override <strong>PageStatePersister</strong> in the base class for all your pages.&#160; This does place a larger load on the web server, so make sure that this is a right solution for you.</p>
<p>As a long term fix, I plan on going through the screens and disabling <strong>ViewState</strong> for controls that don’t need it. Since majority of controls do not need <strong>ViewState</strong> enabled, this should minimize the size of the <strong>ViewState</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=226</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP .NET PostBack Performance &#8211; Part 1</title>
		<link>http://www.idevstream.com/?p=222</link>
		<comments>http://www.idevstream.com/?p=222#comments</comments>
		<pubDate>Tue, 31 Aug 2010 20:34:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[HiddenFieldStatePersister]]></category>
		<category><![CDATA[PageStatePersister]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[postback]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[SessionPageStatePersistor]]></category>
		<category><![CDATA[viewstate]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=222</guid>
		<description><![CDATA[I ran into a performance issue with an ASP.Net website that was experiencing a slow down on some of the data heavy screens.&#160; I was not able to recreate this performance issue from my office, but it was very noticeable at the client site.&#160; The pages that were extremely slow were doing a significant number [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=222&text=ASP .NET PostBack Performance &ndash; Part 1" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>I ran into a performance issue with an ASP.Net website that was experiencing a slow down on some of the data heavy screens.&#160; I was not able to recreate this performance issue from my office, but it was very noticeable at the client site.&#160; The pages that were extremely slow were doing a significant number of postacks within AJAX Update Panels. </p>
<p>After some research, I was able to narrow down the cause of this issue to be related to the following:</p>
<ol>
<ol>
<li><font style="background-color: #ffffff">The internet connection at the client site</font> </li>
<li><font style="background-color: #ffffff">Number of postbacks</font> </li>
<li><font style="background-color: #ffffff">Size of the ViewState</font> </li>
</ol>
</ol>
<p align="left"><font style="background-color: #ffffff">I was able to rule out the performance of the SQL Server and the Web Server since I was not able to reproduce the issue from my office.&#160; </font></p>
<p><font style="background-color: #ffffff">After testing the bandwidth at the client site, it appeared that their upload bandwidth was low and highly utilized.&#160; The application was doing several postbacks on most utilized screens.&#160; The AJAX Update Panel enhanced user experience by doing partial updates to the screen, therefore minimizing the flicker, but it also caused performance issues since each request to the server was a full ASP.Net postback. </font></p>
<p>To determine the size of each postback I used a Fiddler to record my HTTP traffic.&#160; Fiddler can be downloaded for free <a href="http://www.fiddler2.com/fiddler2/" target="_blank">here</a>.&#160; </p>
<p>After recording the traffic, I looked at the “TextView” of the request in Fiddler to determine the size of my postback. I did this for all slow performing screens. The size of the postback for each of the slow performing screens was as follows:</p>
<ul>
<ul>
<li>143K per postback </li>
<li><font style="background-color: #ffffff">188K per postback</font> </li>
<li><font style="background-color: #ffffff">700k per postback</font> </li>
<li><font style="background-color: #ffffff">244K per postback</font> </li>
</ul>
</ul>
<p><font style="background-color: #ffffff">These are fairly large and can eat up the upload bandwidth quickly.&#160; At this point I could either re-work these screens to eliminate these postbacks or find a way to minimize the size of my ViewState on these pages.</font></p>
<p>I will discuss my solution to this issue in the Part 2 of this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=222</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 4 Telerik Scheduler Issue</title>
		<link>http://www.idevstream.com/?p=214</link>
		<comments>http://www.idevstream.com/?p=214#comments</comments>
		<pubDate>Mon, 14 Jun 2010 04:28:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[appointment]]></category>
		<category><![CDATA[appointments not showing]]></category>
		<category><![CDATA[radScheduler]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[silverlight scheduler]]></category>
		<category><![CDATA[telerik issue]]></category>
		<category><![CDATA[telerik scheduler]]></category>
		<category><![CDATA[telerik scheduler issue]]></category>
		<category><![CDATA[telerik silverlight 4]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=214</guid>
		<description><![CDATA[Telerik controls version 2010.1.422.1040 I recently took over a Silverlight Telerik scheduler which was having an issue with displaying appointments on a resource view.&#160;&#160; The only way I could get appointments to display is if “DisplayEmptyGroup” property on the scheduler was set to true.&#160; All the appointments were assigned to a resource, but would not [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=214&text=Silverlight 4 Telerik Scheduler Issue" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><blockquote><p>Telerik controls version 2010.1.422.1040</p>
</blockquote>
<p>I recently took over a Silverlight Telerik scheduler which was having an issue with displaying appointments on a resource view.&#160;&#160; The only way I could get appointments to display is if “<em>DisplayEmptyGroup</em>” property on the scheduler was set to <em>true</em>.&#160; All the appointments were assigned to a resource, but would not display on the scheduler.</p>
<p>The issue was the assignment of the resources to appointments.&#160; The appointments were loaded and added to the Telerik appointment collection.&#160; Then each appointment in the collection was looped through and assigned to the resource.&#160; So as the appointments were added to the collection, they defaulted to an empty resource group since it was not yet assigned to the resource.&#160; For some reason, since the empty group is not displayed (“<em>DisplayEmptyGroup</em>”&#160; set to <em>false</em>), the appointments did not show up on the scheduler when the resource was eventually assigned to the appointment. </p>
<p>To fix the problem, I assigned the resource to an appointment before adding it to the collection.&#160; Problem solved!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=214</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINQ Lazy Loading</title>
		<link>http://www.idevstream.com/?p=209</link>
		<comments>http://www.idevstream.com/?p=209#comments</comments>
		<pubDate>Sun, 13 Jun 2010 04:38:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LINQ]]></category>
		<category><![CDATA[data context]]></category>
		<category><![CDATA[data load options]]></category>
		<category><![CDATA[dataloadoption]]></category>
		<category><![CDATA[Explicit construction of entity type]]></category>
		<category><![CDATA[lazy linq]]></category>
		<category><![CDATA[lazy loading]]></category>
		<category><![CDATA[linq lazy loading]]></category>
		<category><![CDATA[linq projection]]></category>
		<category><![CDATA[linq to sql]]></category>
		<category><![CDATA[linq2sql]]></category>
		<category><![CDATA[projection]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=209</guid>
		<description><![CDATA[I was experiencing some performance issues in my Silverlight application and got it narrowed down to the mapping of the domain objects.&#160; After running SQL profiler and doing some research I figured out that it was due to Linq lazy loading. As an example if I have the following data structure: I would have an [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=209&text=LINQ Lazy Loading" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>I was experiencing some performance issues in my Silverlight application and got it narrowed down to the mapping of the domain objects.&#160; After running SQL profiler and doing some research I figured out that it was due to Linq lazy loading. </p>
<p>As an example if I have the following data structure:</p>
<p><a href="http://www.idevstream.com/wp-content/uploads/2010/06/Employee_EmployeePosition.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Employee_EmployeePosition" border="0" alt="Employee_EmployeePosition" src="http://www.idevstream.com/wp-content/uploads/2010/06/Employee_EmployeePosition_thumb.png" width="504" height="158" /></a> </p>
<p>I would have an “<em>EmployeePosition</em>” domain object and an “<em>Employee</em>” domain object.&#160; I will use the following Linq statement to bring back all Employee Positions:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b72ec26c-e693-478f-b523-b59341a05178" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #ddd; overflow: auto">
<ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px; white-space: nowrap">
<li><span style="color:#0000ff">using</span> (<span style="color:#0000ff">var</span> dc = <span style="color:#0000ff">new</span> <span style="color:#2b91af">DataClasses1DataContext</span>())</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#0000ff">var</span> postiions = dc.EmployeePositions.ToList();</li>
<li style="background: #f3f3f3">}</li>
</ol></div>
</p></div>
</p></div>
<div class="csharpcode">Linq lazy loading is enabled by default, so by executing the above query Linq will only bring back Employee Positions.&#160; If I am only looking for Employee Positions everything works as expected.&#160; The issue appears if I want to bring back the Employee information for each position.&#160; Since I have a foreign key relationship between “<em>Employee</em>” and “<em>EmployeePosition</em>”, my <strong>dbml</strong> has <strong>“one to many” association</strong> between them.&#160; This allows me to write the following mapping to my object that I return to my Silverlight application:    </div>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:520d2346-7026-4286-9369-8588364d7b93" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #ddd; overflow: auto">
<ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">var</span> myEmployees = postiions.Select(x =&gt; <span style="color:#0000ff">new</span> <span style="color:#2b91af">EmployeeWithPosition</span></li>
<li style="background: #f3f3f3">                    {</li>
<li>                        FirstName = x.Employee.FirstName,</li>
<li style="background: #f3f3f3">                        LastName = x.Employee.LastName,</li>
<li>                        Position = x.Position</li>
<li style="background: #f3f3f3">                    }).ToList();</li>
</ol></div>
</p></div>
</p></div>
<p>When executing above code, there is a separate call made to the database to get the “<em>FirstName</em>” then another call to get the “<em>LastName</em>” for each of the “<em>EmployeePosition</em>” objects due to LINQ lazy loading (default).&#160; So if I have 10 employee positions, there are 20 additional calls made to the database. </p>
<p>There are a few solutions to solve this issue:</p>
<ol>
<ol>
<li>Disable lazy loading for the entire <strong>dbml</strong> file.&#160; </li>
<li>Specify “<em>DataLoadOptions</em>” on the Data Context.&#160; This is a valid option if you do not re-use the Data Context.</li>
<li>Use projection to load only necessary data.</li>
</ol>
</ol>
<p>The best option for my situation was to use projection to load my data.&#160; To do this I extended my existing Employee domain object by creating a partial “<em>Employee</em>” class and adding a string “<em>Position</em>” property.&#160; Then I used projection to load my data to the Employee domain object.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:185d5025-0945-4ef4-b185-7b144acf8efb" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #ddd; overflow: auto">
<ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;">
<li><span style="color:#0000ff">using</span> (<span style="color:#0000ff">var</span> dc = <span style="color:#0000ff">new</span> <span style="color:#2b91af">DataClasses1DataContext</span>())</li>
<li style="background: #f3f3f3">{</li>
<li>    <span style="color:#0000ff">var</span> myEmployees = dc.EmployeePositions.Select(x =&gt; <span style="color:#0000ff">new</span> <span style="color:#2b91af">Employee</span></li>
<li style="background: #f3f3f3">    {                    </li>
<li>        FirstName = x.Employee.FirstName,</li>
<li style="background: #f3f3f3">        LastName = x.Employee.LastName,                    </li>
<li>        Position = x.Position</li>
<li style="background: #f3f3f3">    }).ToList();</li>
<li>}</li>
</ol></div>
</p></div>
</p></div>
<p>When I executed above code I got the following run-time error:</p>
<blockquote><p>Explicit construction of entity type &#8216;Employee&#8217; in query is not allowed.</p>
</blockquote>
<p>After doing a little research I discovered that projection to a domain object is not allowed. As a work around, I used my “<em>EmployeeWithPosition</em>” custom object which only contains properties that I am interested in from the “<em>Employee</em>” and “<em>EmployeePosition</em>” domain objects to project my data.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7acb592a-47ae-4afe-9779-c76e0f9fba53" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
<div style="background: #ddd; overflow: auto">
<ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;">
<li> <span style="color:#0000ff">using</span> (<span style="color:#0000ff">var</span> dc = <span style="color:#0000ff">new</span> <span style="color:#2b91af">DataClasses1DataContext</span>())</li>
<li style="background: #f3f3f3">            {</li>
<li>                <span style="color:#0000ff">var</span> myEmployees = dc.EmployeePositions.Select(x =&gt; <span style="color:#0000ff">new</span> <span style="color:#2b91af">EmployeeWithPosition</span></li>
<li style="background: #f3f3f3">                {                    </li>
<li>                    FirstName = x.Employee.FirstName,</li>
<li style="background: #f3f3f3">                    LastName = x.Employee.LastName,                    </li>
<li>                    Position = x.Position</li>
<li style="background: #f3f3f3">                }).ToList();</li>
<li>            }</li>
</ol></div>
</p></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=209</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading Silverlight 3 Project to Silverlight 4</title>
		<link>http://www.idevstream.com/?p=203</link>
		<comments>http://www.idevstream.com/?p=203#comments</comments>
		<pubDate>Sat, 05 Jun 2010 06:47:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[silverlight 3]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[upgrade errors]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WCF errors]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=203</guid>
		<description><![CDATA[Recently I upgraded our Silverlight 3 project with WCF services to Visual Studio 2010 Silverlight 4.&#160; Overall the upgrade went smoothly with a few glitches.&#160; Following are some basic steps: Install Blend 4 (if using blend references) Install Silverlight 4 toolkit Run the Visual Studio conversion wizard Update broken references Change all Silverlight projects to [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=203&text=Upgrading Silverlight 3 Project to Silverlight 4" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>Recently I upgraded our Silverlight 3 project with WCF services to Visual Studio 2010 Silverlight 4.&#160; Overall the upgrade went smoothly with a few glitches.&#160; Following are some basic steps:</p>
<ul>
<li>Install Blend 4 (if using blend references) </li>
<li>Install <a href="http://silverlight.codeplex.com/releases/view/43528" target="_blank">Silverlight 4 toolkit</a> </li>
<li>Run the Visual Studio conversion wizard </li>
<li>Update broken references </li>
<li>Change all Silverlight projects to target Silverlight 4 in the project properties </li>
<li>Delete all WCF references and re-add them
<ul>
<li>When adding a service reference, choose “Reuse types in referenced assemblies&quot; and select specific assemblies instead of the &quot;Always generate message contracts&quot; option. </li>
</ul>
</li>
</ul>
<blockquote><p align="left"><a href="http://www.idevstream.com/wp-content/uploads/2010/06/WCFConfigureService.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WCFConfigureService" border="0" alt="WCFConfigureService" src="http://www.idevstream.com/wp-content/uploads/2010/06/WCFConfigureService_thumb.png" width="535" height="484" /></a>&#160;<strong><font color="#ff0000" size="1">If attached to source control, you may need to name newly added references differently or re-name existing references before deleting.</font></strong></p>
</blockquote>
<p>After running the solution through the conversion wizard I was getting several errors with the WCF services.&#160; I tried removing and re-adding the services several times with the “Always generate message contracts” option selected, which worked fine with Silverlight 3 in Visual Studio 2008.&#160; By selecting the option to reuse types and checking the specified assemblies, I was able to resolve my issue with WCF in Visual Studio 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=203</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM Asynchronous Service Not Running</title>
		<link>http://www.idevstream.com/?p=195</link>
		<comments>http://www.idevstream.com/?p=195#comments</comments>
		<pubDate>Fri, 23 Apr 2010 03:23:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[async service]]></category>
		<category><![CDATA[asynchronous service]]></category>
		<category><![CDATA[crm 4]]></category>
		<category><![CDATA[crm service]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.idevstream.com/?p=195</guid>
		<description><![CDATA[After doing a database move for Microsoft CRM 4 to a separate server we were experiencing issues with the CRM Asynchronous Service which is responsible for processing asynchronous jobs like the workflows. The cause for the issue was the service dependency on MSSQLSERVER.&#160;&#160; To resolve the issue I had to perform the following registry&#160; change [...]]]></description>
			<content:encoded><![CDATA[<div class="twttr_button">
				<a href="http://twitter.com/share?url=http://www.idevstream.com/?p=195&text=CRM Asynchronous Service Not Running" target="_blank" title="Click here if you liked this article.">
					<img src="http://www.idevstream.com/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div><p>After doing a database move for Microsoft CRM 4 to a separate server we were experiencing issues with the CRM Asynchronous Service which is responsible for processing asynchronous jobs like the workflows. The cause for the issue was the service dependency on MSSQLSERVER.&#160;&#160; To resolve the issue I had to perform the following registry&#160; change to remove the dependency.</p>
<blockquote><ol>
<li><font style="background-color: #ffffff">Run the “regedit” command to open the Registry Editor</font></li>
<li>Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSCRMAsyncService</li>
<li>Delete the Value (MSSQLSERVER) for the “DependOnService” Name</li>
<li>Restart the server</li>
</ol>
</blockquote>
<p>The service should come up running after the restart.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevstream.com/?feed=rss2&#038;p=195</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
