<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8944256652433533647.post6590041211871342718..comments</id><updated>2010-07-16T14:44:52.190-04:00</updated><category term='images'/><category term='silverlight seo'/><category term='xaml keys'/><category term='textblock'/><category term='transport'/><category term='dynamic modules'/><category term='liskov substitution'/><category term='bugs'/><category term='development'/><category term='source code browser'/><category term='dynamic types'/><category term='tombstone'/><category term='snowflake'/><category term='conversion'/><category term='events'/><category term='OOB'/><category term='rss reader'/><category term='rest services'/><category term='silverlight toolkit'/><category term='nonsecure items'/><category term='module'/><category term='silverlight navigation'/><category term='silverlight download'/><category term='ria services'/><category term='moq'/><category term='image transform'/><category term='powershell'/><category term='web client'/><category term='property change'/><category term='video'/><category term='nosql'/><category term='#msmix11w'/><category term='codeproject'/><category term='prism'/><category term='locator'/><category term='saga pattern'/><category term='ie 6.0'/><category term='facebook'/><category term='by ref'/><category term='linq'/><category term='windows mobile 7'/><category term='mix 2011'/><category term='theme'/><category term='observable'/><category term='azure'/><category term='datagridtemplatecolumn'/><category term='embedded resources'/><category term='click event'/><category term='common table expression'/><category term='crud'/><category term='mvc'/><category term='ms-pl'/><category term='build'/><category term='mvvm'/><category term='databinding'/><category term='rx'/><category term='client script'/><category term='unit testing'/><category term='NHibernate'/><category term='asp.net'/><category term='design'/><category term='scrollchanged'/><category term='anti-aliasing'/><category term='copyleft'/><category term='postback. callback. button'/><category term='enumerator'/><category term='windsor'/><category term='.NET tools'/><category term='text search'/><category term='silverlight animation'/><category term='subversion'/><category term='yuml'/><category term='dropdown'/><category term='fluent interfaces'/><category term='reflection'/><category term='model-view-controller'/><category term='list'/><category term='storyboard'/><category term='reportviewer'/><category term='cal'/><category term='serialization'/><category term='paging'/><category term='preloading'/><category term='ASP.NET control'/><category term='command'/><category term='OODB'/><category term='model-view-presenter'/><category term='silverlight 5'/><category term='silverlight printing'/><category term='single responsibility'/><category term='datacontext'/><category term='#msmix11s'/><category term='silverlight controls'/><category term='mvp'/><category term='olympics'/><category term='dynamic xap'/><category term='knockoutjs'/><category term='tortoisesvn'/><category term='MEF'/><category term='frameworks'/><category term='child window'/><category term='value type'/><category term='partinitializer'/><category term='plugin'/><category term='hierarchical data template'/><category term='animation'/><category term='line of business'/><category term='mix'/><category term='dynamic control'/><category term='source control'/><category term='host control'/><category term='JSON'/><category term='cross domain'/><category term='scrollview'/><category term='touch'/><category term='focus'/><category term='data temlate'/><category term='law of demeter'/><category term='silverlight 4'/><category term='feed reader'/><category term='navigation'/><category term='dry'/><category term='transaction'/><category term='windows service'/><category term='silverlight'/><category term='number'/><category term='design-time'/><category term='wpf control'/><category term='expression blend'/><category term='modules'/><category term='cube'/><category term='dispatcher'/><category term='solid principle'/><category term='silveright 3'/><category term='old school'/><category term='delegates'/><category term='weakreference'/><category term='constructor injection'/><category term='observablecollection'/><category term='datagrid'/><category term='jquery'/><category term='idataerrorinfo'/><category term='odata'/><category term='user control'/><category term='silverlight 3'/><category term='iapplicationservice'/><category term='dropdown bug'/><category term='CTE'/><category term='wpf'/><category term='behavior'/><category term='automated testing'/><category term='id'/><category term='exception'/><category term='lifetime management'/><category term='caching'/><category term='entity framework'/><category term='sql 2008'/><category term='custom markup extension'/><category term='silverlight services'/><category term='yield'/><category term='dialog'/><category term='xaml'/><category term='path'/><category term='SQL'/><category term='scriptableobject'/><category term='html5'/><category term='encoding'/><category term='Jounce'/><category term='singleton'/><category term='Windows Workflow Foundation'/><category term='yagni'/><category term='treeview'/><category term='windows phone 7'/><category term='smooth streaming'/><category term='out of browser'/><category term='unity framework'/><category term='plasma'/><category term='nunit'/><category term='validation'/><category term='service host'/><category term='convention'/><category term='ultralight.mvvm'/><category term='c#'/><category term='firefox'/><category term='image reflection'/><category term='interface segregation'/><category term='queries'/><category term='fractal'/><category term='data form'/><category term='pinvoke'/><category term='inotifypropertychanged'/><category term='mocking'/><category term='embedded javascript'/><category term='web service'/><category term='ancestor'/><category term='dynamic data'/><category term='event aggregator'/><category term='.net'/><category term='cag'/><category term='isolated storage'/><category term='bing maps'/><category term='value converter'/><category term='xml'/><category term='silverlight myths'/><category term='relative source'/><category term='data contract'/><category term='select'/><category term='attribute'/><category term='sharpdevelop'/><category term='silverlight games'/><category term='#msmix11sw'/><category term='ultra light'/><category term='visual tree'/><category term='schema'/><category term='licenses'/><category term='silverlight unit test'/><category term='metro'/><category term='callback'/><category term='icustomtypeprovider'/><category term='webforms'/><category term='deploymentcatalog'/><category term='handler'/><category term='data grid'/><category term='style'/><category term='inversion of control'/><category term='visual studio'/><category term='composite application guidance'/><category term='windows 8'/><category term='ssrs'/><category term='custom'/><category term='ui virtualization'/><category term='live smooth streaming'/><category term='html'/><category term='combobox'/><category term='large data sets'/><category term='quickstart'/><category term='task parallel library'/><category term='visual state manager'/><category term='syntax highlighter'/><category term='sterling'/><category term='ref keyword'/><category term='media'/><category term='xbox live'/><category term='viewmodel'/><category term='width'/><category term='system.web.ui'/><category term='javascript'/><category term='silverlight 3.0.50106.0'/><category term='asynchronous'/><category term='workflow'/><category term='debugging'/><category term='anonymous method'/><category term='silverlight richtextarea'/><category term='tablet'/><category term='server control'/><category term='windows communication foundation'/><category term='silverlight splash'/><category term='pivot'/><category term='pipes and filters'/><category term='gnu'/><category term='vs 2010'/><category term='windows phone 7 series'/><category term='childwindow'/><category term='regions'/><category term='view model'/><category term='zoom'/><category term='partial members'/><category term='panel'/><category term='iusertype'/><category term='pipeline pattern'/><category term='changed'/><category term='enterprise'/><category term='telerik'/><category term='html 5'/><category term='triggeraction'/><category term='viewbox'/><category term='postbacksettings error'/><category term='Koch'/><category term='database'/><category term='ndepend'/><category term='scrollviewer'/><category term='wcf'/><category term='delegatecommand'/><category term='assert'/><category term='debug'/><category term='codestock'/><category term='coroutine'/><category term='tpl'/><category term='dependency injection'/><category term='key'/><category term='slate'/><category term='assert.true'/><category term='wcf ria'/><category term='Managed Extensibility Framework'/><category term='code first'/><category term='composite wpf'/><category term='dynamic xaml'/><category term='magic string'/><category term='unspecified error'/><category term='lambda expression'/><category term='zune'/><category term='ajax'/><category term='updatepanel'/><category term='trigger'/><category term='view engine'/><category term='ui automation'/><category term='inline hyperlink'/><category term='reference type'/><category term='exportprovider'/><category term='isinteger'/><category term='listbox'/><category term='XAP'/><category term='single point of truth'/><category term='textbox'/><category term='windbg'/><category term='gmail autopilot'/><category term='enumerable'/><category term='napkee'/><category term='resource dictionary'/><category term='silverlight test'/><category term='free software'/><category term='performance profiling'/><category term='balsamiq'/><category term='captcha'/><category term='dependency property'/><category term='matrix'/><category term='generics'/><category term='multivalue'/><category term='dictionary'/><category term='resource file'/><category term='https'/><category term='reactive extensions'/><category term='open closed'/><category term='attached property'/><category term='references'/><category term='collections'/><category term='metadata'/><category term='model-view-viewmodel'/><category term='profiling'/><category term='bitmap'/><category term='binding'/><title type='text'>Comments on C#er : IMage: Introducing the Visual State Aggregator</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://csharperimage.jeremylikness.com/feeds/6590041211871342718/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html'/><author><name>Jeremy Likness</name><uri>https://profiles.google.com/104681642850492486855</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-zVEO4BsSOjc/AAAAAAAAAAI/AAAAAAAAAAA/ocZyKfGEY-Y/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-2431780276059295669</id><published>2010-07-16T14:24:54.546-04:00</published><updated>2010-07-16T14:24:54.546-04:00</updated><title type='text'>I was able to resolve my issues by rebuilding your...</title><content type='html'>I was able to resolve my issues by rebuilding your visualstate aggregator into vb.net since i am alot more proficent with vb.net that c#, after i did that I rubuilt your library and it all works.&lt;br /&gt;&lt;br /&gt;Thanks Jeremy</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/2431780276059295669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/2431780276059295669'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1279304694546#c2431780276059295669' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-582914478'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-3752622985036431066</id><published>2010-07-12T12:04:31.122-04:00</published><updated>2010-07-12T12:04:31.122-04:00</updated><title type='text'>Thanks jeremy 

that is a pretty sweet solution ho...</title><content type='html'>Thanks jeremy &lt;br /&gt;&lt;br /&gt;that is a pretty sweet solution however when&lt;br /&gt;&lt;br /&gt;I tried to change the constructor for the trigger in your VisualAgrregator Source &lt;br /&gt;I now get : &lt;br /&gt;&lt;br /&gt;The name &amp;#39;DesignerProperties&amp;#39; does not exist in the current context&lt;br /&gt;&lt;br /&gt;I feel like I am missing something very simple</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/3752622985036431066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/3752622985036431066'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1278950671122#c3752622985036431066' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-597993642'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-1799933036027116798</id><published>2010-07-09T07:49:55.246-04:00</published><updated>2010-07-09T07:49:55.246-04:00</updated><title type='text'>In the constructor for the trigger, change the cod...</title><content type='html'>In the constructor for the trigger, change the code to this: &lt;br /&gt;&lt;br /&gt;public VisualStateTrigger()  &lt;br /&gt;{&lt;br /&gt;   if (!DesignerProperties.IsInDesignTool) {  &lt;br /&gt;   CompositionInitializer.SatisfyImports(this);  }&lt;br /&gt;}  &lt;br /&gt;&lt;br /&gt;That will make it designer-friendly. :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1799933036027116798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1799933036027116798'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1278676195246#c1799933036027116798' title=''/><author><name>Jeremy Likness</name><uri>http://www.blogger.com/profile/18407945801671553594</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/_Rz8rPhvWXRQ/S4bqZAqQI4I/AAAAAAAAAEo/W4cg5i1NwMo/S220/jeremy400.PNG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-990550575'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-300667940832959110</id><published>2010-07-08T17:17:01.782-04:00</published><updated>2010-07-08T17:17:01.782-04:00</updated><title type='text'>I get this error

Cannot create an instance of &amp;qu...</title><content type='html'>I get this error&lt;br /&gt;&lt;br /&gt;Cannot create an instance of &amp;quot;VisualStateSubscriptionBehavior&amp;quot; VSMAggregatorExample</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/300667940832959110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/300667940832959110'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1278623821782#c300667940832959110' title=''/><author><name>ola lawal</name><uri>http://www.nigeriaconnections.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-597993642'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-5602589146811884556</id><published>2010-07-08T12:18:15.843-04:00</published><updated>2010-07-08T12:18:15.843-04:00</updated><title type='text'>Hi jeremy I am using your visual state aggregator ...</title><content type='html'>Hi jeremy I am using your visual state aggregator for a silverlight 4 RIA project and it is working great , the only issue I have is I cannot view the design of any of the XAML pages that usee the visual state aggregator I get errors like :&lt;br /&gt;&lt;br /&gt;A value of type &amp;#39;VisualStateSubscriptionBehavior&amp;#39; cannot be added to a collection or dictionary of type &amp;#39;BehaviorCollection&amp;#39;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/5602589146811884556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/5602589146811884556'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1278605895843#c5602589146811884556' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-597993642'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-1244259404833223702</id><published>2010-04-01T00:37:12.485-04:00</published><updated>2010-04-01T00:37:12.485-04:00</updated><title type='text'>Any can fire it. Think of this scenario: I have a ...</title><content type='html'>Any can fire it. Think of this scenario: I have a panel with a list of customers. When I click on a customer, a panel slides in with the order details for the customer. &lt;br /&gt;&lt;br /&gt;There is an event &amp;quot;show detail&amp;quot; that causes the grid to slide away and the panel to slide in. That is two different views and the click command is on the customer list view model, so it publishes &amp;quot;show detail&amp;quot; and the grid &amp;quot;listens&amp;quot; by sliding out of the way and the panel &amp;quot;listens&amp;quot; by coming into focus. &lt;br /&gt;&lt;br /&gt;I&amp;#39;m separating the action of grabbing orders, etc, which is straightforward, from the UI element (the slides). My VM doesn&amp;#39;t know or care about a grid or a panel or anything else: it simply publishes &amp;quot;show detail&amp;quot; and then we can wire up whatever set of actions we want.&lt;br /&gt;&lt;br /&gt;Now on the panel, I *could* have a close action. This is an example where I dirty my view model with a command to facilitate a UI-behavior. Closing has nothing to do with the data, it is a UI activity that says, &amp;quot;I&amp;#39;m done with this.&amp;quot; So I can eliminate a command on the view model on instead bind the click of the &amp;quot;close&amp;quot; to the view model event &amp;quot;hide detail&amp;quot;. The panel listens by sliding out of view and the grid listens by popping back. &lt;br /&gt;&lt;br /&gt;Again, the goal is to separate the UI-specific actions from the view models and have a single event able to coordinate it all.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1244259404833223702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1244259404833223702'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1270096632485#c1244259404833223702' title=''/><author><name>Jeremy Likness</name><uri>http://www.blogger.com/profile/18407945801671553594</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/_Rz8rPhvWXRQ/S4bqZAqQI4I/AAAAAAAAAEo/W4cg5i1NwMo/S220/jeremy400.PNG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-990550575'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-4985720221226212648</id><published>2010-04-01T00:01:46.594-04:00</published><updated>2010-04-01T00:01:46.594-04:00</updated><title type='text'>Are you saying that any of the 3 vms could fire th...</title><content type='html'>Are you saying that any of the 3 vms could fire the transition? Or is merely that the transition originates from a single VM but multiple partiers are interested in knowing about it?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/4985720221226212648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/4985720221226212648'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1270094506594#c4985720221226212648' title=''/><author><name>Glenn Block</name><uri>http://blogs.msdn.com/gblock</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1350875140'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-1036197162497218681</id><published>2010-03-31T07:31:24.459-04:00</published><updated>2010-03-31T07:31:24.459-04:00</updated><title type='text'>I like that idea as well, Glenn. The only issue I ...</title><content type='html'>I like that idea as well, Glenn. The only issue I had with that approach is the affinity to the view model. I&amp;#39;m looking at a state transition that possibly coordinates between multiple views/controls and they each might have their own VM, so which VM would &amp;quot;own&amp;quot; the state property? All three? This way allows the various fews to subscribe to the state change regardless of their VM affinity, and allows any VM to publish the state change.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1036197162497218681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/1036197162497218681'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1270035084459#c1036197162497218681' title=''/><author><name>Jeremy Likness</name><uri>http://www.blogger.com/profile/18407945801671553594</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/_Rz8rPhvWXRQ/S4bqZAqQI4I/AAAAAAAAAEo/W4cg5i1NwMo/S220/jeremy400.PNG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-990550575'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-6591328300101037601</id><published>2010-03-31T01:55:44.807-04:00</published><updated>2010-03-31T01:55:44.807-04:00</updated><title type='text'>Interesting approach Jeremy. One question I have i...</title><content type='html'>Interesting approach Jeremy. One question I have is why not just have a State property on your VM which throws a PropertyChanged notification when it is changed, and then have an attached behavior that litens to the State property change and then moves the VM state accordingly?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Glenn</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/6591328300101037601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/6591328300101037601'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1270014944807#c6591328300101037601' title=''/><author><name>Glenn Block</name><uri>http://blogs.msdn.com/gblock</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1823510637'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-110943403947476304</id><published>2010-03-19T07:36:07.019-04:00</published><updated>2010-03-19T07:36:07.019-04:00</updated><title type='text'>I can&amp;#39;t say I agree here. Yes, there is, in my...</title><content type='html'>I can&amp;#39;t say I agree here. Yes, there is, in my opinion, an unwarranted obsession with &amp;quot;no code behind&amp;quot; (let&amp;#39;s face it, XAML is code, albeit a different way to represent it). However, I believe VSM is intended for transitions and states, and the it is more convuluted to change the design of a view model simply to accommodate an animation when you can keep it all in the UI.&lt;br /&gt;&lt;br /&gt;Changing a state when a service call completes or business logic fires is one thing ... then it makes sense to have a delegate or other mechanism to fire off an animation ... but if it is truly for transitions based on events, I don&amp;#39;t see any valid reason to involve more layers than necessary.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/110943403947476304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/110943403947476304'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1268998567019#c110943403947476304' title=''/><author><name>Jeremy Likness</name><uri>http://www.blogger.com/profile/18407945801671553594</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/_Rz8rPhvWXRQ/S4bqZAqQI4I/AAAAAAAAAEo/W4cg5i1NwMo/S220/jeremy400.PNG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-990550575'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-4377033327111391671</id><published>2010-03-19T06:21:27.793-04:00</published><updated>2010-03-19T06:21:27.793-04:00</updated><title type='text'>This looks interesting.  But I agree with your sus...</title><content type='html'>This looks interesting.  But I agree with your suspicion that you are overloading the vm&amp;#39;s responsibility.&lt;br /&gt;&lt;br /&gt;I think the obsession with zero code behind creates some very convoluted implementations.  Personally I accept that an animation is a job for the view, sometimes it can&amp;#39;t be managed / created in xaml, so just do it in the code behind.  job done.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/4377033327111391671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/6590041211871342718/comments/default/4377033327111391671'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html?showComment=1268994087793#c4377033327111391671' title=''/><author><name>Trend Driven Development</name><uri>http://www.blogger.com/profile/13971445110740402485</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/introducing-visual-state-aggregator.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-6590041211871342718' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/6590041211871342718' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1640614176'/></entry></feed>
