<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tag 'UX'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=UX&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tag 'UX'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>TemplateBinding inside ControlTemplate.Triggers</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/09/01/templatebinding-inside-controltemplate-triggers.aspx</link><pubDate>Tue, 01 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719937</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;One of the limitations of TemplateBinding Markup in WPF is the fact that we cannot use it inside the ControlTemplate.Triggers because it really doesn’t work, since as Mike Hillberg said &lt;a href="http://social.msdn.microsoft.com/forums/en-US/wpf/thread/1de3470a-1a50-4e2f-aa38-2a9a3507084a/" target="_blank"&gt;here&lt;/a&gt;, &lt;em&gt;“TemplateBinding is a lightweight, but less functional, version of a Binding with a RelativeSource of TemplatedParent.&amp;#160; One of the things that a TemplateBinding can&amp;#39;t do is work within the ControlTemplate.Triggers; TemplateBinding only works within the template content”&lt;/em&gt; .&lt;/p&gt;  &lt;p&gt;So we have this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MyControl.cs&lt;/p&gt;  &lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#fbfbfb;min-height:40px;padding-left:5px;width:500px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  1: 	&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; MyControl : Control
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  2: 	{
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  3: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  4: 		&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Boolean Selected
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  5: 		{
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  6: 			&lt;span style="color:#0000ff;"&gt;get&lt;/span&gt; { &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; (Boolean)GetValue(SelectedProperty); }
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  7: 			&lt;span style="color:#0000ff;"&gt;set&lt;/span&gt; { SetValue(SelectedProperty, &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;); }
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  8: 		}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  9: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 10: 		&lt;span style="color:#008000;"&gt;// Using a DependencyProperty as the backing store for Selected.  This enables animation, styling, binding, etc...&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 11: 		&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt; DependencyProperty SelectedProperty =
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 12: 			DependencyProperty.Register(&amp;quot;&lt;span style="color:#8b0000;"&gt;Selected&lt;/span&gt;&amp;quot;, &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(Boolean), &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(MyControl), &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; UIPropertyMetadata(&lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;));
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 13: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 14: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 15: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 16: 		&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Brush SelectedColor
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 17: 		{
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 18: 			&lt;span style="color:#0000ff;"&gt;get&lt;/span&gt; { &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; (Brush)GetValue(SelectedColorProperty); }
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 19: 			&lt;span style="color:#0000ff;"&gt;set&lt;/span&gt; { SetValue(SelectedColorProperty, &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;); }
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 20: 		}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 21: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 22: 		&lt;span style="color:#008000;"&gt;// Using a DependencyProperty as the backing store for SelectedColor.  This enables animation, styling, binding, etc...&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 23: 		&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt; DependencyProperty SelectedColorProperty =
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 24: 			DependencyProperty.Register(&amp;quot;&lt;span style="color:#8b0000;"&gt;SelectedColor&lt;/span&gt;&amp;quot;, &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(Brush), &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(MyControl), &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; UIPropertyMetadata(Brushes.Red));
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 25: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 26: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 27: 		&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; MyControl()
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 28: 		{			
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 29: 		}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 30: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 31: 		&lt;span style="color:#0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; OnInitialized(EventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 32: 		{
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 33: 			&lt;span style="color:#0000ff;"&gt;base&lt;/span&gt;.OnInitialized(e);
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 34: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 35: 			&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.MouseLeftButtonDown += &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.Windows.Input.MouseButtonEventHandler(MyControl_MouseLeftButtonDown);
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 36: 		}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 37: 
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 38: 		&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; MyControl_MouseLeftButtonDown(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, System.Windows.Input.MouseButtonEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 39: 		{
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 40: 			MessageBox.Show(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.SelectedColor.ToString());
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 41: 			&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Selected = !&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Selected;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 42: 		}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 43: 	}
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 44: &lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Window1.xaml&lt;/strong&gt;&lt;/p&gt;

&lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#fbfbfb;min-height:40px;padding-left:5px;width:500px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  1: &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Window&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;Class&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;WpfApplication13.Window1&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  2:     &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  3:     &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  4: 	&lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;local&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;clr-namespace:WpfApplication13&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  5:     &lt;span style="color:#ff0000;"&gt;Title&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Window1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Height&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;300&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Width&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;300&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  6:     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  7: 		&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c71585;"&gt;local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;MyControl&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;ctrl1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  8: 			&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c71585;"&gt;local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;MyControl.Template&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  9: 				&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetType&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;{x:Type local:MyControl}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 10: 					&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Green&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;source&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 11: 					&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 12: 						&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Trigger&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Selected&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 13: 							&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;source&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Background&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;{TemplateBinding SelectedColor}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 14: 						&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Trigger&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 15: 						&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Trigger&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Selected&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 16: 							&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;source&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Background&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Green&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 17: 						&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Trigger&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 18: 					&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 19: 				&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 20: 			&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c71585;"&gt;local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;MyControl.Template&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 21: 		&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c71585;"&gt;local&lt;/span&gt;:&lt;span style="color:#800000;"&gt;MyControl&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 22: 	&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 23: &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Window&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; 24: &lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;When we compile we get the following error, &lt;em&gt;&amp;quot;Cannot convert the value in attribute &amp;#39;Value&amp;#39; to object of type &amp;#39;&amp;#39;.&amp;#160; Error at object &amp;#39;System.Windows.Setter&amp;#39; in markup file &amp;#39;WpfApplication13;component/window1.xaml&amp;#39; Line 13 Position 58.&amp;quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So how can we solve this problem?&lt;/p&gt;

&lt;p&gt;&amp;#160;&amp;#160; Since the problem here is that &lt;em&gt;TemplateBinding&lt;/em&gt; is not supported inside the ControlTemplate.Triggers, we have to find another way to make the binding, and so we just change the line 13 to&lt;/p&gt;

&lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#fbfbfb;min-height:40px;padding-left:5px;width:500px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  1: 							&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;source&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;Background&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;{Binding RelativeSource={RelativeSource TemplatedParent}, Path=SelectedColor}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; And if we look at the &lt;a href="http://msdn.microsoft.com/en-us/library/ms742882.aspx" target="_blank"&gt;TemplateBinding Markup&lt;/a&gt; page in MSDN, the usage of TemplateBinding is similar to the &lt;a href="http://msdn.microsoft.com/en-us/library/ms750413.aspx" target="_blank"&gt;Binding Markup&lt;/a&gt; using TemplatedPart as the RelativeSource, like {Binding RelativeSource={RelativeSource TemplatedParent}, Path=&lt;em&gt;DependencyPropertyToBind&lt;/em&gt;}&lt;/p&gt;

&lt;p&gt;Hope this helps.&lt;/p&gt;</description></item><item><title>Update .NET RIA Services</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/07/30/update-net-ria-services.aspx</link><pubDate>Thu, 30 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1711063</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt; Recently I posted about .NET RIA Services that is a framework that is associated with Silverlight and will make the development of business applications easier.  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; So here a some more links in order to understand .NET RIA Services better.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx"&gt;&lt;/a&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 9- POCO and" href="http://blogs.msdn.com/brada/archive/2009/07/22/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-6-poco-and-authentication-provider.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 9- POCO and Authentication Providers&lt;/a&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 10- LinqToSq" href="http://blogs.msdn.com/brada/archive/2009/07/23/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-9-linqtosql.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 10- LinqToSq&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 11- The Clie" href="http://blogs.msdn.com/brada/archive/2009/07/24/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-11-the-client-only-world.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 11- The Client Only World&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 12- DataSet" href="http://blogs.msdn.com/brada/archive/2009/07/27/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-9-dataset.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 12- DataSet&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 13- The New" href="http://blogs.msdn.com/brada/archive/2009/07/28/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-11-the-new-class-library-project.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 13- The New Class Library Project&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 14- Visual B" href="http://blogs.msdn.com/brada/archive/2009/07/29/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-xx-visual-basic-vb-and-wpf-support.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 14- Visual Basic (VB) and WPF Support&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 15- ASP.NET" href="http://blogs.msdn.com/brada/archive/2009/07/30/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-xx-asp-net-mvc.aspx"&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update- Part 15- ASP.NET MVC&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Have a nice reading about .NET RIA Services&lt;/p&gt;</description></item><item><title>Silverlight 3 with MEF support</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/07/30/silverlight-3-with-mef-support.aspx</link><pubDate>Thu, 30 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1711065</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;&amp;#160;&amp;#160; One of the things that I really thing would be important for Silverlight in order to make easier the Modularity of the Business applications developed in Silverlight, since the Prism approach is nice but I think that the MEF approach is simpler and so this should be a breakthrough for Silverlight Business Application Development. &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; After some talks with &lt;a href="http://blogs.msdn.com/brada" target="_blank"&gt;Brad Adams&lt;/a&gt; from Microsoft and also posting some feedback I came to this very interesting post of Brad that talks about how can we use the MEF for Silverlight that was &lt;a href="http://mef.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30098" target="_blank"&gt;made available on the CodePlex site related to MEF&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; Brad make a very good example of the &lt;a href="http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx" target="_blank"&gt;usage of MEF in this blog post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; So enjoy the reading and good coding.&lt;/p&gt;</description></item><item><title>.NET RIA Services</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/07/21/net-ria-services.aspx</link><pubDate>Tue, 21 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1704769</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;&amp;#160;&amp;#160; .NET RIA Services is a framework that is associated with Silverlight and will make the development of business applications easier.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; In order to know more I decided to compile a set of articles that I think are very interesting to understand .NET RIA Services better.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd695920.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd695920.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3-rtm-and-net-ria-services-july-update.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3-rtm-and-net-ria-services-july-update.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/11/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-1-rich-data-query.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/11/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-1-rich-data-query.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/13/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-3-authentication.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/13/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-3-authentication.aspx&lt;/a&gt;&lt;b&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/14/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-4-seo-export-to-excel-and-out-of-browser.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/14/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-4-seo-export-to-excel-and-out-of-browser.aspx&lt;/a&gt;&lt;b&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/15/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-5-astoria-add-reference-and-winforms.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/15/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-5-astoria-add-reference-and-winforms.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/16/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-6-data-transfer-objects-dtos.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/16/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-6-data-transfer-objects-dtos.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/21/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-7-services-based-data-store.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/21/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-7-services-based-data-store.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/17/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-8-wcf-based-data-source.aspx"&gt;http://blogs.msdn.com/brada/archive/2009/07/17/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-8-wcf-based-data-source.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Have a nice reading about .NET RIA Services&lt;/p&gt;</description></item><item><title>Silverlight 3.0 RTW</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/07/19/silverlight-3-0-rtw.aspx</link><pubDate>Sun, 19 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1703123</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;As you might already know Silverlight 3 RTW is out and with it the great power of Silverlight 3 was unleashed. &lt;/p&gt;  &lt;p&gt;The main features made available are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tools&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Expression Blend 3 RC&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Ability to Import Photoshop and Illustrator&lt;/li&gt;        &lt;li&gt;SketchFlow&lt;/li&gt;        &lt;li&gt;State Management&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Visual Studio 2010&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Still in Beta 1 version but with a strong design tools for Silverlight&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Controls&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;DataForm&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Simple control that enabled a flexible way to display data of a single entity definition. Support several methods such as Display, Edit and Update and navigating to data.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;DataPager&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;This control gives Paging support such as Next/Previous and Numeric paging on elements that implement the IPageViewCollection interface.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Navigation Framework&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;A Framework that will provide an easy way to provide navigation to applications, and that introduces to Silverlight 2 new controls, called Frame and Page. With it we can partition views into separate XAML files and navigate to each view independently. Also integrates with Browser history providing Browser Back and Forward functions.&lt;/li&gt;        &lt;li&gt;SEO – Search Engine Optimization&lt;/li&gt;        &lt;li&gt;Deep Linking&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Possibility to navigate directly to a specific page in the Silverlight solution&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;New toolkit controls&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Media&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Support for H.264 and AAC encoding&lt;/li&gt;      &lt;li&gt;Raw audio/video pipeline support that will provide audio/video decoding outside the runtime and render in Silverlight&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Graphics&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Perspective 3D&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Support for 3D scenarios and putting object on a plane for various user experience scenarios.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Pixel Effects &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Support for Pixel Shader Effects&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Animation Easing&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Provides a set of possibilities that will interpolate the animations and provide smoother animation transitions and other visual effects&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Bitmap API&lt;/li&gt;      &lt;li&gt;GPU Acceleration&lt;/li&gt;      &lt;li&gt;Text/Image Improvements&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Element-to-Element Binding&lt;/li&gt;    &lt;li&gt;Local Connection API&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Enable scenarios in order to Silverlight solutions to communicate with each other through an asynchronous messaging system. A pub-sub implementation for Silverlight applications.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Binding Validation API&lt;/li&gt;    &lt;li&gt;SaveFileDialog&lt;/li&gt;    &lt;li&gt;Dynamic Styling and Based On&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Support for DynamicResource&lt;/li&gt;      &lt;li&gt;Support for Based On Styles&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Caret Brush&lt;/li&gt;    &lt;li&gt;Merged Resource Dictionaries&lt;/li&gt;    &lt;li&gt;Assembly Caching&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Possibility of having the Silverlight solutions load core runtime from a runtime cache rather than having it on the xap file.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Network monitoring API&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Possibility to check network status changes.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Out-of-Browser and Offline&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Possibility to have the applications run on and off the browser and Offline also, having it work like a desktop solution.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Binary XML&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Ability to communicate using WCF with Binary XML data format and providing smaller communications,&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Web Service Utility&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Slsvcutil.exe that works like the regular WCF svcutil tool but specific for Silverlight&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;.NET RIA Services (Still in CTP version)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A complete framework that will provide an easy way to develop using the n-tier pattern using the power of ASP.NET to help Silverlight to achieve this.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Know more on the &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx" target="_blank"&gt;Get Started session of Silverlight.net site&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>WPF Charting is already available in WPF Toolkit of June 2009</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/07/06/wpf-charting-is-already-available-in-wpf-toolkit-of-june-2009.aspx</link><pubDate>Mon, 06 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698498</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;The long wait has finished as the WPF Charting was made available on the last WPF Toolkit release of June 2009 and now we can use all those great charts that were available for Silverlight, now also in WPF.&lt;/p&gt;  &lt;p&gt;You can know more about this &lt;a href="http://blogs.msdn.com/delay/archive/2009/06/25/wpf-charting-it-s-official-june-2009-release-of-the-wpf-toolkit-is-now-available.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>MIX’09 – Reviewing – Building Microsoft Silverlight Controls</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/06/21/mix-09-reviewing-building-microsoft-silverlight-controls.aspx</link><pubDate>Sun, 21 Jun 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1696051</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;Karen Corby – Lead Program Manager on Silverlight Team - &lt;a href="http://scorbs.com/work"&gt;http://scorbs.com/work&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;“One major difference between site with a strong Brand Image … and one with weak Brand Image … is that &lt;strong&gt;brand positioning permeates every part of a strong site …&lt;/strong&gt;” – Forrester, June 9, 2005&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Styling      &lt;ul&gt;       &lt;li&gt;“Property Bag” styling &lt;/li&gt;        &lt;li&gt;Through the &amp;lt;Style&amp;gt; element &lt;/li&gt;        &lt;li&gt;Works with Controls , UserControls, Shapes, Panels &lt;/li&gt;        &lt;li&gt;App.xaml now support the MergedResourceDictionaries functionality like in WPF          &lt;ul&gt;           &lt;li&gt;&amp;lt;ResourceDictionary.MergedDictionaries&amp;gt;              &lt;ul&gt;               &lt;li&gt;&amp;lt;ResourceDictionary Source=”Assets.xaml”/&amp;gt; &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&amp;lt;/ResourceDictionary.MergedDictionaries&amp;gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Styles now support BasedOn          &lt;ul&gt;           &lt;li&gt;&amp;lt;Style x:Key=”NewStyle” BasedOn=”{StaticResource BaseStyle}”&amp;gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Skinning      &lt;ul&gt;       &lt;li&gt;Completely replace visuals &lt;/li&gt;        &lt;li&gt;Through &amp;lt;ControlTemplate&amp;gt; element &lt;/li&gt;        &lt;li&gt;{TemplaceBinding} extension &lt;/li&gt;        &lt;li&gt;Works with Custom Controls (not UserControls, Panels, Shapes) &lt;/li&gt;        &lt;li&gt;Based on a well defined separation with: (same way as in Silverlight 2.0)          &lt;ul&gt;           &lt;li&gt;Control Logic &lt;/li&gt;            &lt;li&gt;Control Visuals &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Parts and States Model          &lt;ul&gt;           &lt;li&gt;Goals:              &lt;ul&gt;               &lt;li&gt;Make it easy to skin your control &lt;/li&gt;                &lt;li&gt;Defined separation between logic and visuals &lt;/li&gt;                &lt;li&gt;Explicit control contract &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Parts:              &lt;ul&gt;               &lt;li&gt;Names element (x:Name) in Template &lt;/li&gt;                &lt;li&gt;Why is it needed to be a named element? Because, code manipulates element in same way. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;States:              &lt;ul&gt;               &lt;li&gt;Visual look of control in a particular state &lt;/li&gt;                &lt;li&gt;Thought &amp;lt;VisualState&amp;gt; element &lt;/li&gt;                &lt;li&gt;Not all ControlTemplates need a Visual State &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;StateGroups:              &lt;ul&gt;               &lt;li&gt;Set of mutually exclusive states &lt;/li&gt;                &lt;li&gt;Different state groups are orthogonal &lt;/li&gt;                &lt;li&gt;Though the &amp;lt;VisualStateGroup&amp;gt; element &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Using States and Transitions              &lt;ul&gt;               &lt;li&gt;VisualStateManager.VisualStateGroups                  &lt;ul&gt;                   &lt;li&gt;Attached Properties on root visual of ControlTemplate &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualStateGroup                  &lt;ul&gt;                   &lt;li&gt;Contains group of related states &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualState class                  &lt;ul&gt;                   &lt;li&gt;Contains storyboard that represents visual look &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualTransition class                  &lt;ul&gt;                   &lt;li&gt;Contains duration for automatic transition animations &lt;/li&gt;                    &lt;li&gt;Contains storyboard for explicit transition animations &lt;/li&gt;                    &lt;li&gt;Default, or “To/From” transitions &lt;/li&gt;                    &lt;li&gt;GeneratedEasingFunction that is part of Silverlight 3 and that make it easy to define how an animation will work without the need to a storyboard &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Data Binding      &lt;ul&gt;       &lt;li&gt;Validation and Binding          &lt;ul&gt;           &lt;li&gt;Flags we need to enable              &lt;ul&gt;               &lt;li&gt;NotifyOnValidationErrors &lt;/li&gt;                &lt;li&gt;ValidatesOnExceptions &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Bindings              &lt;ul&gt;               &lt;li&gt;RelativeSource Binding was included                  &lt;ul&gt;                   &lt;li&gt;Self &amp;amp; TemplatedParent as source &lt;/li&gt;                    &lt;li&gt;Power of full binding in Templates                      &lt;ul&gt;                       &lt;li&gt;Attached DP sources, converters, two-way, etc. &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;DependecyProperties as Sources for Bindings                  &lt;ul&gt;                   &lt;li&gt;Update based on DP changes &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Out-of-the-Box controls with Validation enabled              &lt;ul&gt;               &lt;li&gt;TextBox &lt;/li&gt;                &lt;li&gt;CheckBox &lt;/li&gt;                &lt;li&gt;RadioButton &lt;/li&gt;                &lt;li&gt;ComboBox &lt;/li&gt;                &lt;li&gt;ListBox &lt;/li&gt;                &lt;li&gt;PasswordBox                  &lt;ul&gt;                   &lt;li&gt;Currently isn’t bindable but it will be in the SL 3.0 RTW &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Binding and Styles          &lt;ul&gt;           &lt;li&gt;ElementName binding              &lt;ul&gt;               &lt;li&gt;“UI to UI binding” &lt;/li&gt;                &lt;li&gt;FrameworkElement can be used as a binding Source &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;The Styles can now be changed in runtime              &lt;ul&gt;               &lt;li&gt;the “write once” style limitation was removed in SL 3.0 &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Silverlight Styling vs WPF Styling          &lt;ul&gt;           &lt;li&gt;Currently not supported in SL 3.0              &lt;ul&gt;               &lt;li&gt;Implicit Styles                  &lt;ul&gt;                   &lt;li&gt;A workaround was used in the Silverlight Toolkit &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Dynamic Resources &lt;/li&gt;                &lt;li&gt;Triggers                  &lt;ul&gt;                   &lt;li&gt;Blend’s Behaviors &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Custom Controls      &lt;ul&gt;       &lt;li&gt;Based on Control class &lt;/li&gt;        &lt;li&gt;Add the Control Contract in the Control Logic Class          &lt;ul&gt;           &lt;li&gt;TemplateVisualState elements &lt;/li&gt;            &lt;li&gt;TemplatePart elements &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Generic.xaml          &lt;ul&gt;           &lt;li&gt;Specific element and it &lt;strong&gt;must&lt;/strong&gt; be placed inside a folder named &lt;strong&gt;themes&lt;/strong&gt; on your project &lt;/li&gt;            &lt;li&gt;Needs to be placed as a &lt;strong&gt;Resource&lt;/strong&gt; on the project &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Define the DefaultStyleKey property          &lt;ul&gt;           &lt;li&gt;Informs the element that it should go to the generic.xaml to get the default style &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;“Look-less” by default &lt;/li&gt;        &lt;li&gt;Silverlight and WPF Skinning Model          &lt;ul&gt;           &lt;li&gt;Same Model &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;From Silverlight to WPF      &lt;ul&gt;       &lt;li&gt;Viewbox in Silverlight is part of the Toolkit and in WPF is part of the core runtime &lt;/li&gt;        &lt;li&gt;VSM in WPF is part of the WPF Toolkit and in Silverlight is in the core runtime – Will be part of the core runtime of WPF in the next version &lt;/li&gt;        &lt;li&gt;EasingFunctions are part of the Silverlight core runtime and will only be part of the next version of WPF &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Layout      &lt;ul&gt;       &lt;li&gt;Custom Panels &lt;/li&gt;        &lt;li&gt;In Silverlight is two pass algorithm          &lt;ul&gt;           &lt;li&gt;Measure              &lt;ul&gt;               &lt;li&gt;Check How much space do you need &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Arrange              &lt;ul&gt;               &lt;li&gt;Having the space needed arrange your elements inside it &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&amp;#160; One more very interesting talk about Silverlight in MIX&amp;#39;09 and that showed up some very important new features in terms of Styling, Skinning and Custom Control definition.&lt;/p&gt;</description></item><item><title>MIX’09 – Reviewing – Building Microsoft Silverlight Controls</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/06/21/mix-09-reviewing-building-microsoft-silverlight-controls.aspx</link><pubDate>Sun, 21 Jun 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1696051</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;Karen Corby – Lead Program Manager on Silverlight Team - &lt;a href="http://scorbs.com/work"&gt;http://scorbs.com/work&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;“One major difference between site with a strong Brand Image … and one with weak Brand Image … is that &lt;strong&gt;brand positioning permeates every part of a strong site …&lt;/strong&gt;” – Forrester, June 9, 2005&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Styling      &lt;ul&gt;       &lt;li&gt;“Property Bag” styling &lt;/li&gt;        &lt;li&gt;Through the &amp;lt;Style&amp;gt; element &lt;/li&gt;        &lt;li&gt;Works with Controls , UserControls, Shapes, Panels &lt;/li&gt;        &lt;li&gt;App.xaml now support the MergedResourceDictionaries functionality like in WPF          &lt;ul&gt;           &lt;li&gt;&amp;lt;ResourceDictionary.MergedDictionaries&amp;gt;              &lt;ul&gt;               &lt;li&gt;&amp;lt;ResourceDictionary Source=”Assets.xaml”/&amp;gt; &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&amp;lt;/ResourceDictionary.MergedDictionaries&amp;gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Styles now support BasedOn          &lt;ul&gt;           &lt;li&gt;&amp;lt;Style x:Key=”NewStyle” BasedOn=”{StaticResource BaseStyle}”&amp;gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Skinning      &lt;ul&gt;       &lt;li&gt;Completely replace visuals &lt;/li&gt;        &lt;li&gt;Through &amp;lt;ControlTemplate&amp;gt; element &lt;/li&gt;        &lt;li&gt;{TemplaceBinding} extension &lt;/li&gt;        &lt;li&gt;Works with Custom Controls (not UserControls, Panels, Shapes) &lt;/li&gt;        &lt;li&gt;Based on a well defined separation with: (same way as in Silverlight 2.0)          &lt;ul&gt;           &lt;li&gt;Control Logic &lt;/li&gt;            &lt;li&gt;Control Visuals &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Parts and States Model          &lt;ul&gt;           &lt;li&gt;Goals:              &lt;ul&gt;               &lt;li&gt;Make it easy to skin your control &lt;/li&gt;                &lt;li&gt;Defined separation between logic and visuals &lt;/li&gt;                &lt;li&gt;Explicit control contract &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Parts:              &lt;ul&gt;               &lt;li&gt;Names element (x:Name) in Template &lt;/li&gt;                &lt;li&gt;Why is it needed to be a named element? Because, code manipulates element in same way. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;States:              &lt;ul&gt;               &lt;li&gt;Visual look of control in a particular state &lt;/li&gt;                &lt;li&gt;Thought &amp;lt;VisualState&amp;gt; element &lt;/li&gt;                &lt;li&gt;Not all ControlTemplates need a Visual State &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;StateGroups:              &lt;ul&gt;               &lt;li&gt;Set of mutually exclusive states &lt;/li&gt;                &lt;li&gt;Different state groups are orthogonal &lt;/li&gt;                &lt;li&gt;Though the &amp;lt;VisualStateGroup&amp;gt; element &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Using States and Transitions              &lt;ul&gt;               &lt;li&gt;VisualStateManager.VisualStateGroups                  &lt;ul&gt;                   &lt;li&gt;Attached Properties on root visual of ControlTemplate &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualStateGroup                  &lt;ul&gt;                   &lt;li&gt;Contains group of related states &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualState class                  &lt;ul&gt;                   &lt;li&gt;Contains storyboard that represents visual look &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;VisualTransition class                  &lt;ul&gt;                   &lt;li&gt;Contains duration for automatic transition animations &lt;/li&gt;                    &lt;li&gt;Contains storyboard for explicit transition animations &lt;/li&gt;                    &lt;li&gt;Default, or “To/From” transitions &lt;/li&gt;                    &lt;li&gt;GeneratedEasingFunction that is part of Silverlight 3 and that make it easy to define how an animation will work without the need to a storyboard &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Data Binding      &lt;ul&gt;       &lt;li&gt;Validation and Binding          &lt;ul&gt;           &lt;li&gt;Flags we need to enable              &lt;ul&gt;               &lt;li&gt;NotifyOnValidationErrors &lt;/li&gt;                &lt;li&gt;ValidatesOnExceptions &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Bindings              &lt;ul&gt;               &lt;li&gt;RelativeSource Binding was included                  &lt;ul&gt;                   &lt;li&gt;Self &amp;amp; TemplatedParent as source &lt;/li&gt;                    &lt;li&gt;Power of full binding in Templates                      &lt;ul&gt;                       &lt;li&gt;Attached DP sources, converters, two-way, etc. &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;DependecyProperties as Sources for Bindings                  &lt;ul&gt;                   &lt;li&gt;Update based on DP changes &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Out-of-the-Box controls with Validation enabled              &lt;ul&gt;               &lt;li&gt;TextBox &lt;/li&gt;                &lt;li&gt;CheckBox &lt;/li&gt;                &lt;li&gt;RadioButton &lt;/li&gt;                &lt;li&gt;ComboBox &lt;/li&gt;                &lt;li&gt;ListBox &lt;/li&gt;                &lt;li&gt;PasswordBox                  &lt;ul&gt;                   &lt;li&gt;Currently isn’t bindable but it will be in the SL 3.0 RTW &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Binding and Styles          &lt;ul&gt;           &lt;li&gt;ElementName binding              &lt;ul&gt;               &lt;li&gt;“UI to UI binding” &lt;/li&gt;                &lt;li&gt;FrameworkElement can be used as a binding Source &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;The Styles can now be changed in runtime              &lt;ul&gt;               &lt;li&gt;the “write once” style limitation was removed in SL 3.0 &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Silverlight Styling vs WPF Styling          &lt;ul&gt;           &lt;li&gt;Currently not supported in SL 3.0              &lt;ul&gt;               &lt;li&gt;Implicit Styles                  &lt;ul&gt;                   &lt;li&gt;A workaround was used in the Silverlight Toolkit &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Dynamic Resources &lt;/li&gt;                &lt;li&gt;Triggers                  &lt;ul&gt;                   &lt;li&gt;Blend’s Behaviors &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Custom Controls      &lt;ul&gt;       &lt;li&gt;Based on Control class &lt;/li&gt;        &lt;li&gt;Add the Control Contract in the Control Logic Class          &lt;ul&gt;           &lt;li&gt;TemplateVisualState elements &lt;/li&gt;            &lt;li&gt;TemplatePart elements &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Generic.xaml          &lt;ul&gt;           &lt;li&gt;Specific element and it &lt;strong&gt;must&lt;/strong&gt; be placed inside a folder named &lt;strong&gt;themes&lt;/strong&gt; on your project &lt;/li&gt;            &lt;li&gt;Needs to be placed as a &lt;strong&gt;Resource&lt;/strong&gt; on the project &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Define the DefaultStyleKey property          &lt;ul&gt;           &lt;li&gt;Informs the element that it should go to the generic.xaml to get the default style &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;“Look-less” by default &lt;/li&gt;        &lt;li&gt;Silverlight and WPF Skinning Model          &lt;ul&gt;           &lt;li&gt;Same Model &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;From Silverlight to WPF      &lt;ul&gt;       &lt;li&gt;Viewbox in Silverlight is part of the Toolkit and in WPF is part of the core runtime &lt;/li&gt;        &lt;li&gt;VSM in WPF is part of the WPF Toolkit and in Silverlight is in the core runtime – Will be part of the core runtime of WPF in the next version &lt;/li&gt;        &lt;li&gt;EasingFunctions are part of the Silverlight core runtime and will only be part of the next version of WPF &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Layout      &lt;ul&gt;       &lt;li&gt;Custom Panels &lt;/li&gt;        &lt;li&gt;In Silverlight is two pass algorithm          &lt;ul&gt;           &lt;li&gt;Measure              &lt;ul&gt;               &lt;li&gt;Check How much space do you need &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Arrange              &lt;ul&gt;               &lt;li&gt;Having the space needed arrange your elements inside it &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&amp;#160; One more very interesting talk about Silverlight in MIX&amp;#39;09 and that showed up some very important new features in terms of Styling, Skinning and Custom Control definition.&lt;/p&gt;</description></item><item><title>MIX’09 – Reviewing – Future of Expression Blend</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/06/08/mix-09-reviewing-future-of-expression-blend.aspx</link><pubDate>Mon, 08 Jun 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1694547</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;Douglas Olson – General Manager&lt;/p&gt;  &lt;p&gt;Christian Schormann – Director, Program Manager&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Expression Mission&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enable professional designers to create great &lt;em&gt;UX&lt;/em&gt; with &lt;em&gt;better productivity &lt;/em&gt;at &lt;em&gt;lower costs.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;Help integrate design and designers into the process of software creation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Expression Blend 3 Goals&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enable early-stage design &amp;amp; prototyping (SketchFlow)      &lt;ul&gt;       &lt;li&gt;Created to address issues felt at the start of the software design process:          &lt;ul&gt;           &lt;li&gt;Top-down &amp;amp; bottom-ups design lets you experiments with ideas &lt;/li&gt;            &lt;li&gt;SketchFlow Player lets you try your design at any time &lt;/li&gt;            &lt;li&gt;Facilitate communication of design ideas &lt;/li&gt;            &lt;li&gt;Easy to gather, evaluate and use stakeholders feedback &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Blend Elements          &lt;ul&gt;           &lt;li&gt;SketchFlow Application Flow              &lt;ul&gt;               &lt;li&gt;Important to think on pages like whiteboards to sketch, insert elements, and all what you normally do. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Usage of SketchStyles that will allow us to maintain the Sketchy style of the Design proposal, that is very important. &lt;/li&gt;        &lt;li&gt;Export to Word          &lt;ul&gt;           &lt;li&gt;Dumps all the SketckFlow elements like Application Flow, Pages, Comments and so on. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Make visual design easier for designer      &lt;ul&gt;       &lt;li&gt;Embrace the Design Ecosystem          &lt;ul&gt;           &lt;li&gt;Adobe Photoshop &amp;amp; Illustrator file format import with extensive support for layers              &lt;ul&gt;               &lt;li&gt;Preview of Photoshop in Windows Explorer even without PhotoShop installed &lt;/li&gt;                &lt;li&gt;Possibility to choose what to do with each layer &lt;/li&gt;                &lt;li&gt;Blend informs if the font is default or not and gives the possibility to choose other font or even the same font by specifying the path of the font &lt;/li&gt;                &lt;li&gt;All content will be fully editable &lt;/li&gt;                &lt;li&gt;Layer Groups are also maintained &lt;/li&gt;                &lt;li&gt;By selecting an object we can make “Make into Control”                  &lt;ul&gt;                   &lt;li&gt;We choose the type of control we want to create &lt;/li&gt;                    &lt;li&gt;What’s done is:                      &lt;ul&gt;                       &lt;li&gt;A style is created in order for the control to became what was defined when we selected the elements to generate the control. &lt;/li&gt;                        &lt;li&gt;The control created will replace the selected element and gain the same properties that the original element had. &lt;/li&gt;                        &lt;li&gt;The style is associates to the control &lt;/li&gt;                        &lt;li&gt;&lt;strong&gt;Note: &lt;/strong&gt;There’s now a problem when the controls have different parts, like the Slider, and this will generate all but we need to wire-up the style to the correct parts &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Fast and Easy Control Skinning &lt;/li&gt;            &lt;li&gt;Enhanced editing of visual States &lt;/li&gt;            &lt;li&gt;Richer state transitions &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Focus On Your Art          &lt;ul&gt;           &lt;li&gt;Redefined artboard interaction &lt;/li&gt;            &lt;li&gt;Better gradient editing &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Design with Data (Data Generation / Sampling inside Blend)      &lt;ul&gt;       &lt;li&gt;In the Data Tab we will have the possibility to define the DataSource structure that we want, and then just generate the data, and there are some templates like Phone Numbers, Strings, Dates, and so on. &lt;/li&gt;        &lt;li&gt;Make it easy to build a data-driven applications:          &lt;ul&gt;           &lt;li&gt;Sample Data:              &lt;ul&gt;               &lt;li&gt;Design applications without access to live data source &lt;/li&gt;                &lt;li&gt;Create sample data on the fly &lt;/li&gt;                &lt;li&gt;Populate with configurable random data &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Drag and Drop Master-Detail creation &lt;/li&gt;            &lt;li&gt;Better user experience for data binding &lt;/li&gt;            &lt;li&gt;Design-time support for Silverlight 3 controls &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;There’s a Master and a Details Mode in the Data Tab that will make it easier to perform the Master-Details view          &lt;ul&gt;           &lt;li&gt;in this version of Blend we need to wire-up the Master and Detail elements, and this will not be needed in the last version of Blend &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Build interactivity without code (Behaviors)      &lt;ul&gt;       &lt;li&gt;Introduction to Behaviors:          &lt;ul&gt;           &lt;li&gt;Production-quality interactivity applied with Drag &amp;amp; Drop ease &lt;/li&gt;            &lt;li&gt;A design pattern for reusable interactivity &lt;/li&gt;            &lt;li&gt;Example: MouseGestureBehavior              &lt;ul&gt;               &lt;li&gt;You can define the gesture that will be used and make changes to the elements based on that gesture &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Enable Source Code Control (Integration with Source Safe and TFS by default) – This is available also inside Expression Web      &lt;ul&gt;       &lt;li&gt;Design for Developers          &lt;ul&gt;           &lt;li&gt;Source Control              &lt;ul&gt;               &lt;li&gt;Visual Studio Team Foundation Server Support &lt;/li&gt;                &lt;li&gt;New editor with Intellisense for code &amp;amp; XAML &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Support for Silverlight 3 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The same features are available for WPF and Silverlight in Blend 3.&lt;/p&gt;    &lt;p&gt;It’s important to avoid having final or high-definition elements in the Sketch design because customers will start looking in the direction of the rendering instead of the functionality.&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>MIX’09 – Reviewing – Future of Expression Blend</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/06/08/mix-09-reviewing-future-of-expression-blend.aspx</link><pubDate>Mon, 08 Jun 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1694547</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;Douglas Olson – General Manager&lt;/p&gt;  &lt;p&gt;Christian Schormann – Director, Program Manager&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Expression Mission&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enable professional designers to create great &lt;em&gt;UX&lt;/em&gt; with &lt;em&gt;better productivity &lt;/em&gt;at &lt;em&gt;lower costs.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;Help integrate design and designers into the process of software creation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Expression Blend 3 Goals&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enable early-stage design &amp;amp; prototyping (SketchFlow)      &lt;ul&gt;       &lt;li&gt;Created to address issues felt at the start of the software design process:          &lt;ul&gt;           &lt;li&gt;Top-down &amp;amp; bottom-ups design lets you experiments with ideas &lt;/li&gt;            &lt;li&gt;SketchFlow Player lets you try your design at any time &lt;/li&gt;            &lt;li&gt;Facilitate communication of design ideas &lt;/li&gt;            &lt;li&gt;Easy to gather, evaluate and use stakeholders feedback &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Blend Elements          &lt;ul&gt;           &lt;li&gt;SketchFlow Application Flow              &lt;ul&gt;               &lt;li&gt;Important to think on pages like whiteboards to sketch, insert elements, and all what you normally do. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Usage of SketchStyles that will allow us to maintain the Sketchy style of the Design proposal, that is very important. &lt;/li&gt;        &lt;li&gt;Export to Word          &lt;ul&gt;           &lt;li&gt;Dumps all the SketckFlow elements like Application Flow, Pages, Comments and so on. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Make visual design easier for designer      &lt;ul&gt;       &lt;li&gt;Embrace the Design Ecosystem          &lt;ul&gt;           &lt;li&gt;Adobe Photoshop &amp;amp; Illustrator file format import with extensive support for layers              &lt;ul&gt;               &lt;li&gt;Preview of Photoshop in Windows Explorer even without PhotoShop installed &lt;/li&gt;                &lt;li&gt;Possibility to choose what to do with each layer &lt;/li&gt;                &lt;li&gt;Blend informs if the font is default or not and gives the possibility to choose other font or even the same font by specifying the path of the font &lt;/li&gt;                &lt;li&gt;All content will be fully editable &lt;/li&gt;                &lt;li&gt;Layer Groups are also maintained &lt;/li&gt;                &lt;li&gt;By selecting an object we can make “Make into Control”                  &lt;ul&gt;                   &lt;li&gt;We choose the type of control we want to create &lt;/li&gt;                    &lt;li&gt;What’s done is:                      &lt;ul&gt;                       &lt;li&gt;A style is created in order for the control to became what was defined when we selected the elements to generate the control. &lt;/li&gt;                        &lt;li&gt;The control created will replace the selected element and gain the same properties that the original element had. &lt;/li&gt;                        &lt;li&gt;The style is associates to the control &lt;/li&gt;                        &lt;li&gt;&lt;strong&gt;Note: &lt;/strong&gt;There’s now a problem when the controls have different parts, like the Slider, and this will generate all but we need to wire-up the style to the correct parts &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Fast and Easy Control Skinning &lt;/li&gt;            &lt;li&gt;Enhanced editing of visual States &lt;/li&gt;            &lt;li&gt;Richer state transitions &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Focus On Your Art          &lt;ul&gt;           &lt;li&gt;Redefined artboard interaction &lt;/li&gt;            &lt;li&gt;Better gradient editing &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Design with Data (Data Generation / Sampling inside Blend)      &lt;ul&gt;       &lt;li&gt;In the Data Tab we will have the possibility to define the DataSource structure that we want, and then just generate the data, and there are some templates like Phone Numbers, Strings, Dates, and so on. &lt;/li&gt;        &lt;li&gt;Make it easy to build a data-driven applications:          &lt;ul&gt;           &lt;li&gt;Sample Data:              &lt;ul&gt;               &lt;li&gt;Design applications without access to live data source &lt;/li&gt;                &lt;li&gt;Create sample data on the fly &lt;/li&gt;                &lt;li&gt;Populate with configurable random data &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Drag and Drop Master-Detail creation &lt;/li&gt;            &lt;li&gt;Better user experience for data binding &lt;/li&gt;            &lt;li&gt;Design-time support for Silverlight 3 controls &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;There’s a Master and a Details Mode in the Data Tab that will make it easier to perform the Master-Details view          &lt;ul&gt;           &lt;li&gt;in this version of Blend we need to wire-up the Master and Detail elements, and this will not be needed in the last version of Blend &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Build interactivity without code (Behaviors)      &lt;ul&gt;       &lt;li&gt;Introduction to Behaviors:          &lt;ul&gt;           &lt;li&gt;Production-quality interactivity applied with Drag &amp;amp; Drop ease &lt;/li&gt;            &lt;li&gt;A design pattern for reusable interactivity &lt;/li&gt;            &lt;li&gt;Example: MouseGestureBehavior              &lt;ul&gt;               &lt;li&gt;You can define the gesture that will be used and make changes to the elements based on that gesture &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Enable Source Code Control (Integration with Source Safe and TFS by default) – This is available also inside Expression Web      &lt;ul&gt;       &lt;li&gt;Design for Developers          &lt;ul&gt;           &lt;li&gt;Source Control              &lt;ul&gt;               &lt;li&gt;Visual Studio Team Foundation Server Support &lt;/li&gt;                &lt;li&gt;New editor with Intellisense for code &amp;amp; XAML &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Support for Silverlight 3 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The same features are available for WPF and Silverlight in Blend 3.&lt;/p&gt;    &lt;p&gt;It’s important to avoid having final or high-definition elements in the Sketch design because customers will start looking in the direction of the rendering instead of the functionality.&lt;/p&gt;&lt;/blockquote&gt;</description></item></channel></rss>