﻿<?xml version="1.0" encoding="utf-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Intersoft Community - ClientUI - Add code to ViewModel Base to take advantage of Intellisense</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Add-code-to-ViewModel-Base-to-take-advantage-of-Intellisense/</link><description /><generator>http://www.intersoftsolutions.com</generator><language>en</language><copyright>Copyright 2002 - 2015 Intersoft Solutions Corp. All rights reserved.</copyright><ttl>60</ttl><item><title>Add code to ViewModel Base to take advantage of Intellisense</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Add-code-to-ViewModel-Base-to-take-advantage-of-Intellisense/</link><pubDate>Wed, 07 Jul 2010 07:55:47 GMT</pubDate><dc:creator>bbakermai</dc:creator><category>ClientUI ViewModelBase</category><description>&lt;p&gt;I've always thought it made more sense to call it RaisePropertyChanged, since I'm explicitly calling it in a setter, as opposed to reacting to an event with an On&amp;lt;event&amp;gt; method name. So, that's my convention, opinionated though it may be.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Add code to ViewModel Base to take advantage of Intellisense</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Add-code-to-ViewModel-Base-to-take-advantage-of-Intellisense/</link><pubDate>Tue, 06 Jul 2010 06:18:53 GMT</pubDate><dc:creator>technical@intersoftpt.com</dc:creator><category>ClientUI ViewModelBase</category><description>&lt;p&gt;Bob,&lt;/p&gt;&lt;p&gt;Thank you for your sharing your information. I have forwarded your feedback to our development team, it will be included in the RTM version of our templates and samples.&lt;/p&gt;
&lt;p&gt;One thing that I noted is that you used RaisePropertyChanged name instead of OnPropertyChanged. Althought just a minor naming issue, we suggest that OnPropertyChanged is used instead of RaisePropertyChanged since it's more consistent with WPF-style MVVM guidelines.&lt;/p&gt;
&lt;p&gt;Let me know if you have any thoughts or other questions on ClientUI.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Add code to ViewModel Base to take advantage of Intellisense</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Add-code-to-ViewModel-Base-to-take-advantage-of-Intellisense/</link><pubDate>Mon, 05 Jul 2010 13:37:10 GMT</pubDate><dc:creator>bbakermai</dc:creator><category>ClientUI ViewModelBase</category><description>&lt;p&gt;Adding something like this to your ViewModelBase:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt;&amp;nbsp;RaisePropertyChanged&amp;lt;TProperty&amp;gt;(&lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;TProperty&amp;gt;&amp;gt;&amp;nbsp;property)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(PropertyChanged&amp;nbsp;==&amp;nbsp;&lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;lambda&amp;nbsp;=&amp;nbsp;(&lt;span style="color: #2b91af"&gt;LambdaExpression&lt;/span&gt;)property;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;MemberExpression&lt;/span&gt;&amp;nbsp;memberExpression;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(lambda.Body&amp;nbsp;&lt;span style="color: blue"&gt;is&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;UnaryExpression&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;unaryExpression&amp;nbsp;=&amp;nbsp;(&lt;span style="color: #2b91af"&gt;UnaryExpression&lt;/span&gt;)lambda.Body;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memberExpression&amp;nbsp;=&amp;nbsp;(&lt;span style="color: #2b91af"&gt;MemberExpression&lt;/span&gt;)unaryExpression.Operand;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;else&lt;/span&gt;&amp;nbsp;memberExpression&amp;nbsp;=&amp;nbsp;(&lt;span style="color: #2b91af"&gt;MemberExpression&lt;/span&gt;)lambda.Body;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OnPropertyChanged(memberExpression.Member.Name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;
&lt;p&gt;will allow for code like this in ViewModel class property setters:&lt;/p&gt;
&lt;p&gt;RaisePropertyChanged( () =&amp;gt; MyProperty);&lt;/p&gt;
&lt;p&gt;The result is no more typos inside of string properties. Of course, if you've copying and pasting, you can still forget to change the property for the pasted one.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description></item></channel></rss>