<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : Property interceptor does not update the UI</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2012 : Property interceptor does not update the UI</description>
  <pubDate>Mon, 13 Apr 2026 00:28:52 -700</pubDate>
  <lastBuildDate>Tue, 12 Mar 2013 06:42:32 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=4024</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>Property interceptor does not update the UI : ichill,  If you look at the...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15979#15979</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1005" rel="nofollow">mgood</a><br /><strong>Subject:</strong> 4024<br /><strong>Posted:</strong> 12-Mar-2013 at 6:42am<br /><br /><span style=": rgb251, 251, 253;">ichill,&nbsp;</span><div><span style=": rgb251, 251, 253;">If you look at the implementation of </span>StaffingResourceNameEditorViewModel, which is the ViewModel that lets you edit the name, you'll notice that it doesn't set the properties on the entity directly and that the corresponding view is not bound to the entity's properties.&nbsp;</div><div><br></div><div>The entity's properties are set once you Ok out of the popup in StaffingResourceSummaryViewModel (see below). At that point the property interceptor is invoked and the strings are trimmed. If StaffingResourceNameEditorViewModel would set the properties directly, we would have to roll back the entity if the user clicks Cancel and risk losing other pending changes or we would have to reset just the properties with the original values. By not changing the actual properties until the user hits Ok, we don't have to do anything if they click Cancel and the entity remains untouched.</div><div><br></div><div><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; border: 0px; font-family: C&#111;nsolas, 'Liberati&#111;n Mono', Courier, monospace; color: rgb51, 51, 51;"><div ="line" id="LC18" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"><span ="na" style="margin: 0px; padding: 0px; border: 0px; color: rgb0, 128, 128;">    &#091;Export, PartCreationPolicy(CreationPolicy.NonShared)&#093;</span></div><div ="line" id="LC19" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;<span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">public</span> <span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">class</span> <span ="nc" style="margin: 0px; padding: 0px; border: 0px; color: rgb68, 85, 136; font-weight: bold;">StaffingResourceSummaryViewModel</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">:</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResourceScreenBase</span></div><div ="line" id="LC20" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">{</span></div><div ="line" id="LC21" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">private</span> <span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">readonly</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">ExportFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&lt;</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResourceNameEditorViewModel</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&gt;</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">_nameEditorFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC22" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"><br></div><div ="line" id="LC23" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"><span ="na" style="margin: 0px; padding: 0px; border: 0px; color: rgb0, 128, 128;">        &#091;ImportingConstructor&#093;</span></div><div ="line" id="LC24" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">public</span> <span ="nf" style="margin: 0px; padding: 0px; border: 0px; color: rgb153, 0, 0; font-weight: bold;">StaffingResourceSummaryViewModel</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">(</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">IUnitOfWorkManager</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&lt;</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">IResourceMgtUnitOfWork</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&gt;</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">unitOfWorkManager</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">,</span></div><div ="line" id="LC25" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="n" style="margin: 0px; padding: 0px; border: 0px;">ExportFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&lt;</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResourceNameEditorViewModel</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">&gt;</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditorFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">)</span></div><div ="line" id="LC26" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">:</span> <span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">base</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">(</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">unitOfWorkManager</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">)</span></div><div ="line" id="LC27" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">{</span></div><div ="line" id="LC28" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="n" style="margin: 0px; padding: 0px; border: 0px;">_nameEditorFactory</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">=</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditorFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC29" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">}</span></div><div ="line" id="LC30" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"><br></div><div ="line" id="LC31" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">public</span> <span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">async</span> <span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">void</span> <span ="nf" style="margin: 0px; padding: 0px; border: 0px; color: rgb153, 0, 0; font-weight: bold;">EditName</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">()</span></div><div ="line" id="LC32" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">{</span></div><div ="line" id="LC33" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="kt" style="margin: 0px; padding: 0px; border: 0px; color: rgb68, 85, 136; font-weight: bold;">var</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditor</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">=</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">_nameEditorFactory</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">CreateExport</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">().</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">Value</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC34" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="k" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">await</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditor</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">Start</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">(</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResource</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">Id</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">).</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">ShowDialogAsync</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">();</span></div><div ="line" id="LC35" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"><br></div><div ="line" id="LC36" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResource</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">FirstName</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">=</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditor</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">FirstName</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC37" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResource</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">MiddleName</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">=</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditor</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">MiddleName</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC38" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="n" style="margin: 0px; padding: 0px; border: 0px;">StaffingResource</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">LastName</span> <span ="p" style="margin: 0px; padding: 0px; border: 0px;">=</span> <span ="n" style="margin: 0px; padding: 0px; border: 0px;">nameEditor</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">.</span><span ="n" style="margin: 0px; padding: 0px; border: 0px;">LastName</span><span ="p" style="margin: 0px; padding: 0px; border: 0px;">;</span></div><div ="line" id="LC39" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">}</span></div><div ="line" id="LC40" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;<span ="p" style="margin: 0px; padding: 0px; border: 0px;">}</span></div></pre></div>]]>
   </description>
   <pubDate>Tue, 12 Mar 2013 06:42:32 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15979#15979</guid>
  </item> 
  <item>
   <title>Property interceptor does not update the UI : Hi sbelini,I tried it onapps.ideablade.com/TempHire....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15977#15977</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1638" rel="nofollow">ichill</a><br /><strong>Subject:</strong> 4024<br /><strong>Posted:</strong> 11-Mar-2013 at 6:58pm<br /><br />Hi sbelini,<div><br></div><div>I tried it on&nbsp;<a href="http://drc.ideablade.com/elqNow/elqRedir.htm?ref=http://apps.ideablade.com/TempHire/" target="_blank">apps.ideablade.com/TempHire</a>&nbsp;. I change First name Steven to &nbsp; &nbsp; Steeve (with leading spaces), tabbed to the next field. I was expecting that the First name will show Steeve without the leading spaces, but it did not. It still shows the First name with leading spaces.</div>]]>
   </description>
   <pubDate>Mon, 11 Mar 2013 18:58:04 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15977#15977</guid>
  </item> 
  <item>
   <title>Property interceptor does not update the UI : ichill,  I was not able to see...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15975#15975</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=892" rel="nofollow">sbelini</a><br /><strong>Subject:</strong> 4024<br /><strong>Posted:</strong> 11-Mar-2013 at 11:02am<br /><br />ichill,<br /><br />I was not able to see the behavior you described.<br />I've tried the property interceptor above in the WPF_TourOfDevForce sample and it works as expected.<br /><br />Please provide a small solution reproducing the issue. (against NorthwindIB)]]>
   </description>
   <pubDate>Mon, 11 Mar 2013 11:02:23 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15975#15975</guid>
  </item> 
  <item>
   <title>Property interceptor does not update the UI : I&amp;#039;m looking at temphire property...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15970#15970</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1638" rel="nofollow">ichill</a><br /><strong>Subject:</strong> 4024<br /><strong>Posted:</strong> 09-Mar-2013 at 9:58pm<br /><br />I'm looking at temphire property interceptor<div><br></div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &#091;BeforeSet&#093;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; internal void RemoveWhiteSpace(IEntityPropertySetInterceptorArgs args)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (args.EntityProperty.DataType != typeof(string) || args.Value == &nbsp;null)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; args.Value = ((string) args.Value).Trim();</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div></div><div><br></div><div><br></div><div>When I try to set the firstname to " &nbsp; &nbsp;Steeve" (double quote not included), the textbox still displays Steeve with the leading spaces.</div><div>How come it doesn't display the trimmed value?</div>]]>
   </description>
   <pubDate>Sat, 09 Mar 2013 21:58:28 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4024&amp;PID=15970#15970</guid>
  </item> 
 </channel>
</rss>