<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Daniel Sun's Blog</title>
        <link>http://sunshinetoast.com/Default.aspx</link>
        <description />
        <language>en-AU</language>
        <copyright>daniel</copyright>
        <managingEditor>daniel@sunshinetoast.com</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>Daniel Sun's Blog</title>
            <url>http://sunshinetoast.com/images/RSS2Image.gif</url>
            <link>http://sunshinetoast.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DanielSunBlog" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
            <title>A few tricks to get Prism v2 acceptance test going</title>
            <category>Programming</category>
            <link>http://sunshinetoast.com/archive/2009/01/06/a-few-tricks-to-get-prism-v2-acceptance-test-going.aspx</link>
            <description>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;I am taking the Quickstarts Commanding as an example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;1. Build Commanding.sln&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;a. silverlightut binaries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom - you may get heaps of compilation errors. Here is one example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-fareast-language: EN-AU"&gt;…\CAL\Silverlight\Composite.Presentation.Tests\App.xaml.cs(19,17): error CS0234: The type or namespace name 'Silverlight' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Cause – The referenced Microsoft.Silverlight.Testing.dll &amp;amp; Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll are missing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Solution – Download the “Silverlightut” (Silverlight Unit test framework) from &lt;a href="http://code.msdn.microsoft.com/silverlightut"&gt;&lt;span style="mso-ansi-language: EN-US"&gt;http://code.msdn.microsoft.com/silverlightut&lt;/span&gt;&lt;/a&gt; | Extract the two dlls to LIB\Silverlight\UnitTestFramework | Restart VS IDE&lt;/span&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;b. ValidateXaml&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom – You may get the following error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Cause – No clue except the VS installation is possibly messed up somewhere.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Solution – Upload the project file | Modify ValidateXaml node from true to false | Save changes &amp;amp; Reload the project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;2. Build Commanding.Tests.AcceptanceTest.sln&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;a. white binaries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom – you may get heaps of compilation errors. Here is an example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-fareast-language: EN-AU"&gt;…\AcceptanceTestLibrary\AcceptanceTestLibrary\ApplicationHelper\WhiteExtensions.cs(21,7): error CS0246: The type or namespace name 'Core' could not be found (are you missing a using directive or an assembly reference?)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Cause – The referenced Core.dll &amp;amp; Bricks.dll are missing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Solution – Download the “White Binaries” from &lt;/span&gt;&lt;a href="http://www.codeplex.com/white"&gt;http://www.codeplex.com/white&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;| Extract to LIB\White&lt;/p&gt;
&lt;p class="MsoNormal"&gt;b. project hint path&lt;/p&gt;
&lt;p class="MsoNormal" style="mso-layout-grid-align: none"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom – you may still get heaps of compilation errors similar to 2a&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-fareast-language: EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Cause – The Commanding.Tests.AcceptanceTest.csproj has incorrect hint path for Core.dll &amp;amp; Bricks.dll&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Solution – Unload the project file | Mofiy the HintPath from \LIB\Core.dll to \LIB\White\Core.dll | Modify the HintPath from \LIB\Bricks.dll to \LIB\White\Bricks.dll | Reload the project file | Restart the VS IDE&lt;/p&gt;
&lt;p class="MsoNormal"&gt;3. Test &lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Commanding.Tests.AcceptanceTest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;a. Test run error&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom – You may get the Test Run Errors and Warnings&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US"&gt;Failed to queue test run '…': Test Run deployment issue: The location of the file or directory '...\quickstarts\commanding\commanding.tests.acceptancetest\commanding.tests.acceptancetest\bin\debug\Core.dll' is not trusted&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Cause – As the error message correctly indicates, we need to trust the referenced White assemblies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Solution – Open \LIB\White\Core.dll properties | Unblock &amp;amp; Apply/OK | Rebuild Commanding.Tests.AcceptanceTest.sln&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Note – Make sure you are unblocking the assemblies in the LIB not the bin\debug.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;b. Test run failed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US"&gt;Symptom – You may get the error message:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US"&gt;System.IO.FileNotFoundException: Could not load file or assembly 'Castle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Cause – The depending White assemblies are missing&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Solution – Make sure the following assemblies are under \LIB\White&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0cm" type="disc"&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;Bricks.RuntimeFramework&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;Castle.Core&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;Castle.DynamicProxy2&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;log4net&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;nunit.framework&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;White.NUnit&lt;/li&gt;
    &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1"&gt;Xstream.Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;Note – If you click the “Test run failed” link, the “Test Run Errors and Warnings” actually listed all the missing assemblies.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Note2 – Make sure you unblock the above assemblies as well.&lt;/p&gt;&lt;img src="http://sunshinetoast.com/aggbug/17.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>daniel</dc:creator>
            <guid>http://sunshinetoast.com/archive/2009/01/06/a-few-tricks-to-get-prism-v2-acceptance-test-going.aspx</guid>
            <pubDate>Tue, 06 Jan 2009 11:29:56 GMT</pubDate>
            <wfw:comment>http://sunshinetoast.com/comments/17.aspx</wfw:comment>
            <comments>http://sunshinetoast.com/archive/2009/01/06/a-few-tricks-to-get-prism-v2-acceptance-test-going.aspx#feedback</comments>
            <wfw:commentRss>http://sunshinetoast.com/comments/commentRss/17.aspx</wfw:commentRss>
            <trackback:ping>http://sunshinetoast.com/services/trackbacks/17.aspx</trackback:ping>
        </item>
        <item>
            <title>CommandManager Not Determine CommandParameter Change</title>
            <category>Programming</category>
            <link>http://sunshinetoast.com/archive/2008/12/31/commandmanager-not-determine-commandparameter-change.aspx</link>
            <description>&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;I ran into a problem that the Command CanExecute is not invoked when the CommandSource's CommandParameter is updated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;For example, this spike application displays a window with a title and two buttons.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;img height="295" alt="CommandManagerNotDetermineCommandParameterChange Window" width="295" src="/images/sunshinetoast_com/CommandManagerNotDetermineCommandParameterChange.Window.jpg" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-no-proof: yes"&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_1" style="VISIBILITY: visible; WIDTH: 221.25pt; HEIGHT: 221.25pt; mso-wrap-style: square" o:spid="_x0000_i1025" type="#_x0000_t75" alt="CommandManagerNotDetermineCommandParameterChange Window"&gt;&lt;v:imagedata src="file:///C:\Users\daniels\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg" o:title="CommandManagerNotDetermineCommandParameterChange Window"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;this&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.CommandBindings.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;CommandBinding&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;Commands&lt;/span&gt;.OldTitle, OldTitleExecuted, OldTitleCanExecute));&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;this&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.CommandBindings.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;CommandBinding&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;Commands&lt;/span&gt;.NewTitle, NewTitleExecuted, NewTitleCanExecute));&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;The "OldTitle" button should only be enabled if the window's title is "Window New".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;void&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; OldTitleCanExecute(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: #2b91af"&gt;CanExecuteRoutedEventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;string&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; title = e.Parameter &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;e.CanExecute = !&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(title) &amp;amp;&amp;amp; 0 == &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Compare(title, &lt;span style="COLOR: #2b91af"&gt;Constants&lt;/span&gt;.TtileNew);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;The "OldTitle" will change the window's title to "Window Old".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;void&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; OldTitleExecuted(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: #2b91af"&gt;ExecutedRoutedEventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;ChangeTitleAsync(&lt;span style="COLOR: #2b91af"&gt;Constants&lt;/span&gt;.TitleOld);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;The "NewTitle" button should only be enabled if the window's titile is "Window Old".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;The "NewTitle" will change the window's title to "Window New".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Each of this buttons has its CommandProperty set to a static RoutedUICommand and its CommandParameterProperty set to the window's title.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;lt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Button&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Command&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;x&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Static&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; sun&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Commands&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.OldTitle}"&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;CommandParameter&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Binding&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; ElementName&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=window,&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Path&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=Title}"&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Content&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Binding&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Source&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;={&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;x&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Static&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; sun&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Commands&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.OldTitle},&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Path&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=Text}" /&amp;gt;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;lt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Button&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Command&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;x&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Static&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; sun&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Commands&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.NewTitle}"&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;CommandParameter&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Binding&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; ElementName&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=window,&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Path&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=Title}"&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Content&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;="{&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Binding&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Source&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;={&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;x&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Static&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; sun&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;:&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Commands&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.NewTitle},&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; Path&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;=Text}" /&amp;gt;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;The RoutedUICommand's Execute code will fire up a background worker to sleep a short while, then return the new title (or old) to be set to the Windows's title.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;private&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ChangeTitleAsync(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; title)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;BackgroundWorker&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; bw = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;BackgroundWorker&lt;/span&gt;();&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;bw.DoWork += &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;DoWorkEventHandler&lt;/span&gt;(ChangeTitle);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;bw.RunWorkerCompleted += &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;RunWorkerCompletedEventHandler&lt;/span&gt;(ChangeTitleCompleted);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;bw.RunWorkerAsync(title);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;void&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; ChangeTitleCompleted(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: #2b91af"&gt;RunWorkerCompletedEventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;BackgroundWorker&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; bw = sender &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;BackgroundWorker&lt;/span&gt;;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;if&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; (bw != &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;bw.Dispose();&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;bw = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;string&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; title = e.Result &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;if&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; (!&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(title))&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;this&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.Title = title;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;//CommandManager.InvalidateRequerySuggested();&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;void&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; ChangeTitle(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: #2b91af"&gt;DoWorkEventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;System.Threading.&lt;span style="COLOR: #2b91af"&gt;Thread&lt;/span&gt;.Sleep(1000);&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;e.Result = e.Argument;&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Since the windows' title is a dependency property, and it is referenced in the CommandParameter via DataBinding, so as soon as the window's title is set, the CommandParameter is updated. (You can prove this by throwing in a TracingConverter in the DataBinding).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;However, the update of CommandParameter does not cause the Command's CanExecute being re-evaluted.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;One solution is to force a CommandManager to raise the RequerySuggested event via the InvalidateRequerySuggested static method. And in the examle above, one place to call it reactively is in the end of the background worker completed handler since we just touched the window's Title.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;void&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; ChangeTitleCompleted(&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;object&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; sender, RunWorkerCompletedEventArgs e)&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;{&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;...&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;CommandManager.InvalidateRequerySuggested();&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;In summary, as MSDN has pointed out:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;In situations where the CommandManager does not sufficiently determine a change in conditions that cause a command to not be able to execute, &lt;/span&gt;&lt;/strong&gt;&lt;span class="selflink"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;InvalidateRequerySuggested&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; can be called to force the CommandManager to raise the RequerySuggested event.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://sunshinetoast.com/aggbug/16.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>daniel</dc:creator>
            <guid>http://sunshinetoast.com/archive/2008/12/31/commandmanager-not-determine-commandparameter-change.aspx</guid>
            <pubDate>Wed, 31 Dec 2008 12:06:56 GMT</pubDate>
            <wfw:comment>http://sunshinetoast.com/comments/16.aspx</wfw:comment>
            <comments>http://sunshinetoast.com/archive/2008/12/31/commandmanager-not-determine-commandparameter-change.aspx#feedback</comments>
            <wfw:commentRss>http://sunshinetoast.com/comments/commentRss/16.aspx</wfw:commentRss>
            <trackback:ping>http://sunshinetoast.com/services/trackbacks/16.aspx</trackback:ping>
        </item>
        <item>
            <title>Passed 70 502 MS WPF Exam</title>
            <category>Programming</category>
            <link>http://sunshinetoast.com/archive/2008/10/03/passed-70-502-ms-wpf-exam.aspx</link>
            <description>&lt;font face="Arial"&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;I passed &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-502.mspx"&gt;70 502&lt;/a&gt; MS WPF Exam today, scored 873. It is not a very pretty score comparing to my 1000 for &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-536.aspx"&gt;70 536&lt;/a&gt;, but pass is a pass &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Even though it took almost 2 hours to complete all questions and review a dozen marked ones, &lt;/font&gt;&lt;font face="Arial"&gt;I think it is a reasonably easy exam.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I reckon the sectional results (evaluating the strength of each area) is quite spot on, it shows exactly those weak area of my knowledge.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;In terms of my preparation, apart from doing WPF at work for the last six months, I did spend some spare time studying the &lt;a href="http://msdn.microsoft.com/en-us/library/ms754130.aspx"&gt;MSDN&lt;/a&gt;. But that is it, I did not use any WPF books.&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://sunshinetoast.com/aggbug/15.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>daniel</dc:creator>
            <guid>http://sunshinetoast.com/archive/2008/10/03/passed-70-502-ms-wpf-exam.aspx</guid>
            <pubDate>Fri, 03 Oct 2008 12:47:54 GMT</pubDate>
            <wfw:comment>http://sunshinetoast.com/comments/15.aspx</wfw:comment>
            <comments>http://sunshinetoast.com/archive/2008/10/03/passed-70-502-ms-wpf-exam.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sunshinetoast.com/comments/commentRss/15.aspx</wfw:commentRss>
            <trackback:ping>http://sunshinetoast.com/services/trackbacks/15.aspx</trackback:ping>
        </item>
        <item>
            <title>Red Bulls gives you wiiings!</title>
            <category>General</category>
            <link>http://sunshinetoast.com/archive/2008/04/06/red-bulls-gives-you-wiiings.aspx</link>
            <description>I went to Mrs Macquarie's Point today, and checked out the 1st Reb Bull FLUGTAG Sydney. It was so much fun.&lt;br /&gt;
It was all about rather stupidity than intelligence. :) It didn't give me wiiings, but it brought me plenty laugh.&lt;br /&gt;
There were almost 30000 people turned up to the event. For a city like Sydney, with not so big population, this is a very good marketing campaign by Red Bulls. As I can remember, the last time I saw this many people was when the Queen Mary 2 &amp;amp; QE2 met in Sydney harbor in 2007.&lt;br /&gt;
&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://sunshinetoast.com/aggbug/14.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>daniel</dc:creator>
            <guid>http://sunshinetoast.com/archive/2008/04/06/red-bulls-gives-you-wiiings.aspx</guid>
            <pubDate>Sun, 06 Apr 2008 12:28:29 GMT</pubDate>
            <wfw:comment>http://sunshinetoast.com/comments/14.aspx</wfw:comment>
            <comments>http://sunshinetoast.com/archive/2008/04/06/red-bulls-gives-you-wiiings.aspx#feedback</comments>
            <wfw:commentRss>http://sunshinetoast.com/comments/commentRss/14.aspx</wfw:commentRss>
            <trackback:ping>http://sunshinetoast.com/services/trackbacks/14.aspx</trackback:ping>
        </item>
        <item>
            <title>LINQ to SQL classes cause Windows installer project fail to build</title>
            <category>Programming</category>
            <link>http://sunshinetoast.com/archive/2008/04/05/linq-to-sql-classes-cause-windows-installer-project-fail-to.aspx</link>
            <description>If a Visual Studio solution contains a project that uses LINQ to SQL classes (.dbml), the Windows installer project will fail to build.&lt;br /&gt;
&lt;br /&gt;
Here is an example.&lt;br /&gt;
The following illustrates the solution, project, and file structure.&lt;br /&gt;
&lt;span style="font-style: italic;"&gt; Solution1.sln&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;  |- ClassLibrary1.csproj&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;      |- DataClasses.dbml&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;  |- Setup1.vdproj&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;      |- Primary output from ClassLibrary1&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;br /&gt;
When building this solution, I always get the following message:&lt;br /&gt;
========== Build: 1 succeeded or up-to-date, &lt;span style="color: rgb(255, 0, 0);"&gt;1 failed&lt;/span&gt;, 0 skipped ==========&lt;br /&gt;
&lt;br /&gt;
If I check the setup project output path, the setup.msi is generated there. And running the installer successfully deploys the classlibrary1.dll.&lt;br /&gt;
&lt;br /&gt;
Here comes the surprising work around.&lt;br /&gt;
open the ClassLibrary1.csproj in the editor (Unload Project | Edit ClassLibrary1.csproj)&lt;br /&gt;
remove (or comment out) the following node&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;  &amp;lt;ItemGroup&amp;gt;&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;    &amp;lt;Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" /&amp;gt;&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;  &amp;lt;/ItemGroup&amp;gt;&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
reload project&lt;br /&gt;
restart the IDE&lt;br /&gt;
build solution&lt;br /&gt;
========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========&lt;br /&gt;
&lt;br /&gt;
So what is this ItemGroup/Service/@Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}"?&lt;br /&gt;
Googling this GUID did not come up any useful info&lt;br /&gt;
However, the Windows registry editor helped to locate this under HKLM/SOFTWARE/Microsoft/VisualStudio/9.0/Services. It looks related to the O/R data class designer. This is very strange that it affects Visual Studio when building the setup (.vdproj).&lt;br /&gt;
&lt;br /&gt;
Anyway, after removing (or commenting out) the node from the class library project (.csproj), I can build the whole solution again. And I have not seen any impact either on working with the LINQ to SQL data classes.&lt;img src="http://sunshinetoast.com/aggbug/13.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>daniel</dc:creator>
            <guid>http://sunshinetoast.com/archive/2008/04/05/linq-to-sql-classes-cause-windows-installer-project-fail-to.aspx</guid>
            <pubDate>Sat, 05 Apr 2008 11:08:57 GMT</pubDate>
            <wfw:comment>http://sunshinetoast.com/comments/13.aspx</wfw:comment>
            <comments>http://sunshinetoast.com/archive/2008/04/05/linq-to-sql-classes-cause-windows-installer-project-fail-to.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sunshinetoast.com/comments/commentRss/13.aspx</wfw:commentRss>
            <trackback:ping>http://sunshinetoast.com/services/trackbacks/13.aspx</trackback:ping>
        </item>
    </channel>
</rss>
