<?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>Nuno Filipe Godinho : UX</title><link>http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx</link><description>Tags: UX</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>PDC09 – Day Two – Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-advanced-topics-for-building-large-scale-applications-with-microsoft-silverlight.aspx</link><pubDate>Thu, 19 Nov 2009 01:17:45 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740606</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740606</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740606</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-advanced-topics-for-building-large-scale-applications-with-microsoft-silverlight.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;MVVM – Model-View-ViewModel&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Separation of concerns&lt;/li&gt;    &lt;li&gt;View = handled UI&lt;/li&gt;    &lt;li&gt;Model = contains pure data&lt;/li&gt;    &lt;li&gt;ViewModel = communicates between View and Model through bindings&lt;/li&gt;    &lt;li&gt;Works Great with Silverlight and WPF&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;XAML based data bindings&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Testable&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Represents the Data&lt;/li&gt;      &lt;li&gt;The entity&lt;/li&gt;      &lt;li&gt;Not required to know where it gets the data from&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;WCF service, WCF Ria Services&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The Screen, the UI&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;ViewModel&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Main source of logic for the MVVM triad&lt;/li&gt;      &lt;li&gt;Connects the Model and the View&lt;/li&gt;      &lt;li&gt;Abstracts the View&lt;/li&gt;      &lt;li&gt;Public Properties that are bound to the View&lt;/li&gt;      &lt;li&gt;INotifyPropertyChanged and INotifyCollectionChanged talk to the view through bindings&lt;/li&gt;      &lt;li&gt;Listens for changes from the View made to the Model&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Variations of the MVVM&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;View First&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;ViewModel is declared as StaticResource in the Views XAML&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Works well in Blend&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Another way is to create the ViewModel in the View’s code-behind&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;ViewModel First&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;View is injected into the ViewModel’s constructor&lt;/li&gt;        &lt;li&gt;Doesn’t allow the possibility to use Blend&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;View and ViewModel Marriage&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;View must be paired with the ViewModel somehow&lt;/li&gt;        &lt;li&gt; Doesn’t allow the possibility to use Blend&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;What don’t we have with MVVM&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Commanding&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Prism 2&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Prism is a set of options&lt;/li&gt;    &lt;li&gt;Use what you want and ignore the rest&lt;/li&gt;    &lt;li&gt;Technical Concepts:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Modules&lt;/li&gt;      &lt;li&gt;Shell&lt;/li&gt;      &lt;li&gt;Commands&lt;/li&gt;      &lt;li&gt;Containers&lt;/li&gt;      &lt;li&gt;Regions&lt;/li&gt;      &lt;li&gt;Bootstrapper&lt;/li&gt;      &lt;li&gt;Event Aggregation&lt;/li&gt;      &lt;li&gt;Unity and Dependency Injection&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740606" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight+Offline/default.aspx">Silverlight Offline</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Prism/default.aspx">Prism</category></item><item><title>PDC09 – Day Two - Keynote</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-keynote.aspx</link><pubDate>Wed, 18 Nov 2009 19:04:10 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740537</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740537</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740537</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-keynote.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Steven Sinofsky&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Developing Windows 7 &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Solving Problems + Innovation&lt;/li&gt;      &lt;li&gt;“Engineering 7” Blog made a very interesting Dialog even without having any code of the product, just about the decisions that were being made&lt;/li&gt;      &lt;li&gt;Ecosystem Readiness&lt;/li&gt;      &lt;li&gt;Developer Pre-Beta, Beta, RC rhythm&lt;/li&gt;      &lt;li&gt;Telemetry&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Telemetry&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Seed Feedback Button&lt;/li&gt;      &lt;li&gt;Hardware and Device Diagnostics&lt;/li&gt;      &lt;li&gt;Reliability Analysis Component (RAC)&lt;/li&gt;      &lt;li&gt;Software Quality Monitor (SQM)&lt;/li&gt;      &lt;li&gt;Windows Error Reporting (WER or “Watson”)&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Developing Internet Explorer&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Responsible Engineering&lt;/li&gt;      &lt;li&gt;Trustworthy computing &lt;/li&gt;      &lt;li&gt;Real-world Interoperability&lt;/li&gt;      &lt;li&gt;Innovative Technologies&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Updates&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Standards Progress&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;ACID&lt;/li&gt;        &lt;li&gt;HTML 5&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Performance Improvements&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Javascript&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Ecosystem Innovations&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;IE 9 with 3 weeks of development is looking interesting in terms of performance and interoperability&lt;/li&gt;    &lt;li&gt;Using Direct2D and DirectWrite to provide better graphics rendering and Hardware Acceleration without any change of the current sites&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows 7 Call to Action&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integrate with Windows 7 Desktop&lt;/li&gt;    &lt;li&gt;Develop 64-bit&lt;/li&gt;    &lt;li&gt;Focus on fundamentals in your code&lt;/li&gt;    &lt;li&gt;Build on new APIs in Windows 7&lt;/li&gt;    &lt;li&gt;Watch more videos today on Channel 9 about Internet Explorer 9&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scott Guthrie – Developer Division&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Silverlight 4&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Focus&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Media&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Web and and Microphones&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;gives you access to the raw access to the input and so you can make the changes you want on that stream, like using PixelShader with it&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Multicast streaming&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;IIS Smooth Streaming&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://smf.codeplex.com/"&gt;Silverlight Media Framework&lt;/a&gt; available today on CodePlex&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Output protection&lt;/li&gt;        &lt;li&gt;Offline DRM support&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Business Applications&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Printing&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Print Preview Dialogs&lt;/li&gt;          &lt;li&gt;Printing Configurations&lt;/li&gt;          &lt;li&gt;This is a Print API that you can change however you want and not only a screenshot of the screen&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Rich Text&lt;/li&gt;        &lt;li&gt;Clipboard access&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Local and Central clipboard support&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Right Click&lt;/li&gt;        &lt;li&gt;Mouse Wheel&lt;/li&gt;        &lt;li&gt;Implicit Styles&lt;/li&gt;        &lt;li&gt;Drag and&amp;#160; Drop&lt;/li&gt;        &lt;li&gt;Drop Targets support&lt;/li&gt;        &lt;li&gt;Bidi &amp;amp; RTL&lt;/li&gt;        &lt;li&gt;HTML&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Hosting HTML inside Silverlight application&lt;/li&gt;          &lt;li&gt;We can interact with the HTML contents as being a brush&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Commanding and MVVM&lt;/li&gt;        &lt;li&gt;Data &amp;amp; Networking&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Sharing Assemblies across SL and .NET 4.0&lt;/li&gt;          &lt;li&gt;Data Binding Improvements&lt;/li&gt;          &lt;li&gt;UDP Multicast support&lt;/li&gt;          &lt;li&gt;REST Enhancements&lt;/li&gt;          &lt;li&gt;WCF Improvements&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Main one is TCP channel support&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;WCF RIA Services&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;All the capabilities of RIA Services and with all the capabilities of WCF&lt;/li&gt;            &lt;li&gt;Works well with OAuth&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Visual Studio 2010&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;WYSIWYG Design Surface&lt;/li&gt;          &lt;li&gt;XAML Intellisense &lt;/li&gt;          &lt;li&gt;WF and POCO Support&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Additional Control&lt;/li&gt;      &lt;li&gt;Beyond the Browser&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windowing API&lt;/li&gt;        &lt;li&gt;Notification Popups&lt;/li&gt;        &lt;li&gt;HTML support&lt;/li&gt;        &lt;li&gt;Drop Target support&lt;/li&gt;        &lt;li&gt;Opening the Sandbox&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Trusted Application&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Custom Windows Chrome&lt;/li&gt;            &lt;li&gt;Local File System&lt;/li&gt;            &lt;li&gt;Cross-file Network&lt;/li&gt;            &lt;li&gt;Keyboard support in Full Screen Mode&lt;/li&gt;            &lt;li&gt;COM object support in Windows&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;using dynamic keyword of C#&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;Access to Several devices form the client machine&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Silverlight Performance&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Twice as fast&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;uses JIT like the normal .NET Application&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;30% faster startup&lt;/li&gt;          &lt;li&gt;New Profiling support&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Google Chrome will support SL4 also&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Schedule&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Beta&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;All the features seen today&lt;/li&gt;          &lt;li&gt;VS2010 Tools&lt;/li&gt;          &lt;li&gt;Expression Tools&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;RC&lt;/li&gt;        &lt;li&gt;Final Release&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;First half of Next Year (MIX’10 ????)&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Kurt DelBene – Office and Sharepoint 2010&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Business Productivity Infrastructure&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Unified Business Platform&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Unified Communications&lt;/li&gt;      &lt;li&gt;Business Intelligence&lt;/li&gt;      &lt;li&gt;Enterprise Content Management&lt;/li&gt;      &lt;li&gt;Collaboration&lt;/li&gt;      &lt;li&gt;Enterprise Search&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Office and Sharepoint Development Platforms&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;User Experience&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Based in Services and in a Object Model that can be extended in order to create better User Experience&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Application Services&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Expose all the capabilities in the Applications as services to be consumed without loosing any of the features that we have access inside the solution&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Content and Data Management&lt;/li&gt;      &lt;li&gt;Interoperability with LOB integration&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;possibility to more easily integrate the external LOB applications inside the products&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Tools and Deployment Flexibility&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;New Tools for Sharepoint Development&lt;/li&gt;        &lt;li&gt;Debug capabilities are currently in the Tools&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Now Debug really works. &lt;strong&gt;Awesome.&lt;/strong&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Interesting capability to import a Sharepoint solution to start the project&lt;/li&gt;        &lt;li&gt;Possibility to deploy the solution in a sandboxed solution. Interesting in terms of security&lt;/li&gt;        &lt;li&gt;Deployment&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Simply upload the package generated by Visual Studio 2010 into the sharepoint – &lt;strong&gt;Real All-in-One working for deployment also. Now it looks really good for Sharepoint Development.&lt;/strong&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Announcing the Office and Sharepoint 2010 Public Beta to download &lt;a href="http://www.microsoft.com/2010"&gt;www.microsoft.com/2010&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Office 2010&lt;/li&gt;        &lt;li&gt;Sharepoint Server&lt;/li&gt;        &lt;li&gt;Project Server 2010&lt;/li&gt;        &lt;li&gt;Visio 2010&lt;/li&gt;        &lt;li&gt;Mobile is also available today in the mobile marketplace&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Sharepoint has a Silverlight WebPart out of the Box.&lt;/li&gt;      &lt;li&gt;Sharepoint 2010 now has the Office Ribbon&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Announcing Duet Enterprise for Microsoft Sharepoint and SAP&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Consume and extend SAP from Microsoft Sharepoint 2010&lt;/li&gt;      &lt;li&gt;Available on the Second-half of 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Announcing the Outlook Social Connector&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Windows Live, Sharepoint Server, Linkedin&lt;/li&gt;      &lt;li&gt;Has an Open SDK that can be used to develop new connectors for this connector&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740537" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/IE8/default.aspx">IE8</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight+Offline/default.aspx">Silverlight Offline</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Blend/default.aspx">Blend</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/IE9/default.aspx">IE9</category></item><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 19:03:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719937</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1719937</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1719937</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/09/01/templatebinding-inside-controltemplate-triggers.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1719937" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+3.5+SP1/default.aspx">.NET 3.5 SP1</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category></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 18:07:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1711065</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1711065</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1711065</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/07/30/silverlight-3-with-mef-support.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1711065" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MEF/default.aspx">MEF</category></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 17:55:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1711063</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1711063</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1711063</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/07/30/update-net-ria-services.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1711063" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category></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 22:32:15 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1704769</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1704769</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1704769</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/07/21/net-ria-services.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1704769" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category></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 19:04:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1703123</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1703123</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1703123</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/07/19/silverlight-3-0-rtw.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1703123" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight+Offline/default.aspx">Silverlight Offline</category></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 21:57:53 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698498</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1698498</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1698498</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/07/06/wpf-charting-is-already-available-in-wpf-toolkit-of-june-2009.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698498" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category></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 18:08:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1696051</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1696051</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1696051</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/06/21/mix-09-reviewing-building-microsoft-silverlight-controls.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1696051" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MIX09/default.aspx">MIX09</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category></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 13:14:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1694547</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1694547</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1694547</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/06/08/mix-09-reviewing-future-of-expression-blend.aspx#comments</comments><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;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1694547" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MIX09/default.aspx">MIX09</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Blend/default.aspx">Blend</category></item><item><title>Mix09 Day 1 - “Go beyond Best Practices : Evolving the Next Best Practices to Prosper in the 21st Century” with Lou Carbone</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/03/24/mix09-day-1-go-beyond-best-practices-evolving-the-next-best-practices-to-prosper-in-the-21st-century-with-lou-carbone.aspx</link><pubDate>Tue, 24 Mar 2009 23:44:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1681142</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1681142</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1681142</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/03/24/mix09-day-1-go-beyond-best-practices-evolving-the-next-best-practices-to-prosper-in-the-21st-century-with-lou-carbone.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;How does your business causes its customers to feel?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; This is important because some of us lost track of what’s the purpose of the business, because the purpose is bringing value to the business and having the profit has an added bonus.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Running businesses as being made of Greed is not the way, but this is so in the community that even in bills we have phrase like “In greed we trust”. Isn’t this scary?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; Movements that Lou Carbone is involved:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Experience Management Institute&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Phoenix effect&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; There’s too much effort in the company and too less in the customers&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; “Emotions are important determinants of economic behavior …”&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;strong&gt;Firms of Endearment&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Amazon.com&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Costco&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - JetBlue&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Apple&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Harley Davidson&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - BMW&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Google&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Toyota&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - IKEA&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Commerce Bank&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - Carmax&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; - ….&lt;/p&gt;  &lt;p&gt;&amp;#160; What make this firms so unique?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - They developed the SPICE Model that is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;- &lt;strong&gt;S&lt;/strong&gt;ociety&lt;/p&gt;    &lt;p&gt;- &lt;strong&gt;P&lt;/strong&gt;artners&lt;/p&gt;    &lt;p&gt;- &lt;strong&gt;I&lt;/strong&gt;nvestors&lt;/p&gt;    &lt;p&gt;- &lt;strong&gt;C&lt;/strong&gt;ustomers&lt;/p&gt;    &lt;p&gt;- &lt;strong&gt;E&lt;/strong&gt;mployees&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; - Thinking about things without putting in case any of the constituents&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; - It’s important to think what people give attention to. example: St. Patrick’s&amp;#160; Day, Some companies placed that inside their we site and businesses other didn’t, that causes impacts.&lt;/p&gt;  &lt;p&gt;Experience Management&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Behaviors&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Attitudes&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Emotions&lt;/p&gt;  &lt;p&gt;Value relationships&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Brand Value – How we feel about the company&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Customer Value – How customers see your company&lt;/p&gt;  &lt;p&gt;Types of clues&lt;/p&gt;  &lt;p&gt;Categories of clues&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - functional - rational&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - mechanic - emotional&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - humanic – emotional&lt;/p&gt;  &lt;p&gt;“You cannot NOT have an experience”&lt;/p&gt;  &lt;p&gt;We need move from the ROI obsession to &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; - ROY(Return of Y(Why’s)) obsession &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Y are we Doing it (Effect)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Y will it make a difference&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Y wouldn’t we do it&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Y does it make sense&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1681142" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MIX09/default.aspx">MIX09</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category></item><item><title>MIX’09 – Keynote 1</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/03/20/mix-09-keynote-1.aspx</link><pubDate>Fri, 20 Mar 2009 20:20:49 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1679977</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1679977</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1679977</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/03/20/mix-09-keynote-1.aspx#comments</comments><description>&lt;p&gt;&amp;#160; Here we are for the start of great event MIX’09&lt;/p&gt;  &lt;p&gt;&amp;#160; Starting with Bill Buxton from Microsoft Research with “Return of Experience – By Design”&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; - This is the right time to think in Design&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; In this troubled times this is what drives the differences&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Examples:&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Raymond Loewy 1929, Coca Cola, and so on…&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Walter Dorwin Teague 1926, Vanity Kodak in 1928, iPod Mini 2003, learning from the past&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - What’s Experience Design?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - It’s Balancing between multiple approaches and the value of them, by using Sketching&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Steps:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Sketches&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - State Diagram&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Define all things about the transition as well as the States because other way it will go wrong&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - Six Degrees&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - All teams in Microsoft are in the process, from the Design to the Development always thinking about the Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1679977" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MIX09/default.aspx">MIX09</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category></item></channel></rss>