<?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.post7862297362669278672..comments</id><updated>2012-02-04T10:34:50.673-05: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: ViewModel binding with the Managed Extensibility F...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://csharperimage.jeremylikness.com/feeds/7862297362669278672/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.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>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-3394395916750815979</id><published>2012-02-04T05:50:40.538-05:00</published><updated>2012-02-04T05:50:40.538-05:00</updated><title type='text'>Whoops, I designed a UserControl using this code (...</title><content type='html'>Whoops, I designed a UserControl using this code (WPF with CompositionInitializer + .NET 4).&lt;br /&gt;&lt;br /&gt;In runtime, it works OK, but when I try to add the UserControl the the parent&amp;#39;s XAML it just states that it cannot creat an instance of the it (my UserControl has its ViewModel attached to it using your example).&lt;br /&gt;&lt;br /&gt;It can send you the code, it&amp;#39;s plain a simple (a few lines, only). Thanks!!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3394395916750815979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3394395916750815979'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1328352640538#c3394395916750815979' title=''/><author><name>superjmn</name><uri>http://superjmn.wordpress.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/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1226120054'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-5715662082915430923</id><published>2010-12-11T14:30:10.937-05:00</published><updated>2010-12-11T14:30:10.937-05:00</updated><title type='text'>Hi Jeremy,

when I played around with ViewModelLoc...</title><content type='html'>Hi Jeremy,&lt;br /&gt;&lt;br /&gt;when I played around with ViewModelLocaor  I tried the same approach as you. While at runtime everything is fine, I wasn&amp;#39;t able to get it running at design time. The problem is also described in the mef discussion board http://mef.codeplex.com/Thread/View.aspx?ThreadId=208306 When the designer tries to create an instance of ViewModelLocator as a recourse the Satisfy()method in the ctor fails.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5715662082915430923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5715662082915430923'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1292095810937#c5715662082915430923' title=''/><author><name>bitdisaster</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1593355148'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-4160353325672266399</id><published>2010-08-08T13:11:36.113-04:00</published><updated>2010-08-08T13:11:36.113-04:00</updated><title type='text'>I really wouldn&amp;#39;t want to have MEF wiring my u...</title><content type='html'>I really wouldn&amp;#39;t want to have MEF wiring my unit tests. That&amp;#39;s the point of having decoupled parts - when I&amp;#39;m testing &amp;quot;module A&amp;quot; then any dependencies are mocked, and I mock those directly, no need for MEF. It&amp;#39;s only in production where it wires all together.&lt;br /&gt;&lt;br /&gt;As for the composition initializer, it is hierarchical - anything that is referenced. In this case, when the locator is in XAML, the App doesn&amp;#39;t have a direct reference, so the locator must also satisfy imports. If we imported it programmatically and set it, it would be fine.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/4160353325672266399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/4160353325672266399'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1281287496113#c4160353325672266399' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-330465055972108696</id><published>2010-08-08T12:39:45.287-04:00</published><updated>2010-08-08T12:39:45.287-04:00</updated><title type='text'>Thanks for the swift reply!

&amp;quot;while in unit t...</title><content type='html'>Thanks for the swift reply!&lt;br /&gt;&lt;br /&gt;&amp;quot;while in unit tests you can simply set them&amp;quot;, you mean setting directly the properties or using MEF to inject them? If yes, any example on how to inject Mocks/Stubs to properties of ViewModels using MEF?&lt;br /&gt;&lt;br /&gt;I tried to use the VMLocator on your example &amp;quot;RegionsWithMef - Part 1&amp;quot;, It worked only when I kept the &amp;quot;CompositionContainer.SatisfyImports(this)&amp;quot;. I thought in MEF, the &amp;quot;SatisfyImports&amp;quot; is hierarchical, in a sense, in the App.xaml.cs, there was a call to &amp;quot;SatisfyImports&amp;quot;, hence Shell class was created (XAML was parsed). While XAML was parsed, the ViewModelLocator class was created and hence, its Imports should have been imported also, but seems not!&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Bilal</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/330465055972108696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/330465055972108696'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1281285585287#c330465055972108696' title=''/><author><name>bhaidar</name><uri>http://www.blogger.com/profile/05581078432090866917</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1241553799'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-8491769291683866124</id><published>2010-08-08T12:20:54.461-04:00</published><updated>2010-08-08T12:20:54.461-04:00</updated><title type='text'>Yes, I&amp;#39;ve moved completely away from importing...</title><content type='html'>Yes, I&amp;#39;ve moved completely away from importing constructors and just expose the dependencies as properties. Functionally, this is easy and makes sense because MEF can import these, while in unit tests you can simply set them. From a purist&amp;#39;s point of view it exposes more about the internals of the class than some may like, but I say .... SO? I&amp;#39;m abstracting via interfaces, that gives me all I need.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/8491769291683866124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/8491769291683866124'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1281284454461#c8491769291683866124' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-2838042757532493725</id><published>2010-08-08T12:13:16.765-04:00</published><updated>2010-08-08T12:13:16.765-04:00</updated><title type='text'>Hi Jeremy,
The solution above solves controlling t...</title><content type='html'>Hi Jeremy,&lt;br /&gt;The solution above solves controlling the life time of the ViewModel, what about controlling importing a ViewModel with a specific constructor? &lt;br /&gt;&lt;br /&gt;My analysis is, with the use of MEF, no need for specific constructors as we can IMPORT anything we need without the constructor, but again would like to hear your analysis on this.&lt;br /&gt;&lt;br /&gt;Thanks for the helpful material on your blog.&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Bilal</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/2838042757532493725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/2838042757532493725'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1281283996765#c2838042757532493725' title=''/><author><name>bhaidar</name><uri>http://www.blogger.com/profile/05581078432090866917</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1241553799'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-3187873919503934881</id><published>2010-07-14T06:26:44.640-04:00</published><updated>2010-07-14T06:26:44.640-04:00</updated><title type='text'>I&amp;#39;ll see what I can put together for a future ...</title><content type='html'>I&amp;#39;ll see what I can put together for a future post. Thanks!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3187873919503934881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3187873919503934881'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279103204640#c3187873919503934881' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-3241253989272916115</id><published>2010-07-14T05:18:07.367-04:00</published><updated>2010-07-14T05:18:07.367-04:00</updated><title type='text'>&amp;gt;&amp;gt;With a little clever magic you could also ...</title><content type='html'>&amp;gt;&amp;gt;With a little clever magic you could also use ExportFactory and generate what you need with a WeakReference so when the control is done, it can go out of scope. &lt;br /&gt;Do you have a blog entry how this little magic should look like? i would really want to see ExportFactory and WeakReference in action :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3241253989272916115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/3241253989272916115'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279099087367#c3241253989272916115' title=''/><author><name>Frank</name><uri>http://www.blogger.com/profile/08967005550809714788</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1205981129'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-1363410625315185130</id><published>2010-07-13T15:44:03.839-04:00</published><updated>2010-07-13T15:44:03.839-04:00</updated><title type='text'>That was it !

I was implicitly exporting the mode...</title><content type='html'>That was it !&lt;br /&gt;&lt;br /&gt;I was implicitly exporting the model for this viewmodel&lt;br /&gt;&lt;br /&gt;    [Export]&lt;br /&gt;    public class EstablishmentsModel : ModelBase, IEstablishmentsModel&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;Change it to explicitly declare the type and it worked&lt;br /&gt;&lt;br /&gt;    [Export(typeof(IEstablishmentsModel))]&lt;br /&gt;    public class EstablishmentsModel : ModelBase, IEstablishmentsModel&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks !!!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/1363410625315185130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/1363410625315185130'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279050243839#c1363410625315185130' title=''/><author><name>Greg Foote</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1192983393'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-7984523998854642153</id><published>2010-07-13T13:59:38.916-04:00</published><updated>2010-07-13T13:59:38.916-04:00</updated><title type='text'>No, not necessarily. You shouldn&amp;#39;t have to. Yo...</title><content type='html'>No, not necessarily. You shouldn&amp;#39;t have to. You are exporting explicitly. The question now becomes whether or not the Restaurant View Model has some dependency that isn&amp;#39;t being satisfied, causing the export to be rejected.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/7984523998854642153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/7984523998854642153'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279043978916#c7984523998854642153' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-97210580375733333</id><published>2010-07-13T13:53:21.523-04:00</published><updated>2010-07-13T13:53:21.523-04:00</updated><title type='text'>Maybe I need to decorate the interface ?

[Inherit...</title><content type='html'>Maybe I need to decorate the interface ?&lt;br /&gt;&lt;br /&gt;[InheritedExport]&lt;br /&gt;public interface IRestaurantSearchViewModel { };</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/97210580375733333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/97210580375733333'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279043601523#c97210580375733333' title=''/><author><name>Greg Foote</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1967846978'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-9196820640298830185</id><published>2010-07-13T09:41:49.278-04:00</published><updated>2010-07-13T09:41:49.278-04:00</updated><title type='text'>public class ViewModelLocator
 {
    public ViewMo...</title><content type='html'>public class ViewModelLocator&lt;br /&gt; {&lt;br /&gt;    public ViewModelLocator()&lt;br /&gt;    {&lt;br /&gt;           CompositionInitializer.SatisfyImports(this);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        [Import]&lt;br /&gt;        public IRestaurantSearchViewModel RestaurantSearchModelInstance { get; set; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/9196820640298830185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/9196820640298830185'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279028509278#c9196820640298830185' title=''/><author><name>Greg</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1192983393'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-6144815362171115276</id><published>2010-07-13T05:48:16.794-04:00</published><updated>2010-07-13T05:48:16.794-04:00</updated><title type='text'>How are you importing it? It looks like you are im...</title><content type='html'>How are you importing it? It looks like you are importing a &amp;quot;RestarauntSearchViewModel&amp;quot; instead of a &amp;quot;IRestaurantSearchViewModel&amp;quot; ...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/6144815362171115276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/6144815362171115276'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1279014496794#c6144815362171115276' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-80836138192086104</id><published>2010-07-12T20:22:51.586-04:00</published><updated>2010-07-12T20:22:51.586-04:00</updated><title type='text'>Jeremy,

Can you tell me what this message means ?...</title><content type='html'>Jeremy,&lt;br /&gt;&lt;br /&gt;Can you tell me what this message means ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) No valid exports were found that match the constraint &amp;#39;((exportDefinition.ContractName == &amp;quot;mvvmLight.ViewModels.ViewModel.RestaurantSearchViewModel&amp;quot;) AndAlso (exportDefinition.Metadata.ContainsKey(&amp;quot;ExportTypeIdentity&amp;quot;) AndAlso &amp;quot;mvvmLight.ViewModels.ViewModel.RestaurantSearchViewModel&amp;quot;.Equals(exportDefinition.Metadata.get_Item(&amp;quot;ExportTypeIdentity&amp;quot;))))&amp;#39;, invalid exports may have been rejected.&lt;br /&gt;&lt;br /&gt;I am exporting like so:&lt;br /&gt;&lt;br /&gt;    public interface IRestaurantSearchViewModel { };&lt;br /&gt;&lt;br /&gt;    [Export(typeof(IRestaurantSearchViewModel))]&lt;br /&gt;    public class RestaurantSearchViewModel : ViewModelBase , IRestaurantSearchViewModel&lt;br /&gt;    {        &lt;br /&gt;&lt;br /&gt;What am I doing wrong ?&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Greg</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/80836138192086104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/80836138192086104'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1278980571586#c80836138192086104' title=''/><author><name>Greg</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-456949603'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-2677296979109117762</id><published>2010-04-15T08:21:46.243-04:00</published><updated>2010-04-15T08:21:46.243-04:00</updated><title type='text'>Two ways I have done that in the past, Sacha (than...</title><content type='html'>Two ways I have done that in the past, Sacha (thanks for asking ... great question ... interested to know more about how Cinch handles this as well). &lt;br /&gt;&lt;br /&gt;First, I&amp;#39;ve based the view model on, say, BaseViewModel, with an exposed View property. On the view, which can also be based (ViewBase : UserControl, IView), the ViewBase hooks Loaded and then sets ((BaseViewModel)DataContext).View = this; &lt;br /&gt;&lt;br /&gt;Second, I&amp;#39;ve done it with attached behaviors. Using a behavior ala Blend, for example, you can simply hook OnAttached and if both the VM and View have a well defined interface, connect the two there.&lt;br /&gt;&lt;br /&gt;Do you have an article you&amp;#39;d like linked that explains how Cinch does this?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/2677296979109117762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/2677296979109117762'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1271334106243#c2677296979109117762' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-5220874831446512076</id><published>2010-04-15T02:57:07.414-04:00</published><updated>2010-04-15T02:57:07.414-04:00</updated><title type='text'>What about if you simply had to pass some conext a...</title><content type='html'>What about if you simply had to pass some conext about the view (say through an IView) such as editing a Customer and the View had an ID property, and you wanted to pass that to VM, how do you see this working???</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5220874831446512076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5220874831446512076'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1271314627414#c5220874831446512076' title=''/><author><name>sacha barber (C# MVP)</name><uri>http://sachabarber.net</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1412491799'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-5032434889390894505</id><published>2010-03-18T17:12:08.726-04:00</published><updated>2010-03-18T17:12:08.726-04:00</updated><title type='text'>Thanks for the reply.
2. depending on what button ...</title><content type='html'>Thanks for the reply.&lt;br /&gt;2. depending on what button a user clicked the contentcontrol is going to change its content. so either &lt;br /&gt;1. create the instance of the view using exportfactory or&lt;br /&gt;2. have an import in the viewmodel(for each type of the view I want to show&lt;br /&gt;right?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5032434889390894505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5032434889390894505'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1268946728726#c5032434889390894505' title=''/><author><name>lee</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1893675064'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-5544848080928746603</id><published>2010-03-18T16:57:45.133-04:00</published><updated>2010-03-18T16:57:45.133-04:00</updated><title type='text'>1. We could, but we don&amp;#39;t have to. For example...</title><content type='html'>1. We could, but we don&amp;#39;t have to. For example, I may have a &amp;quot;main view model&amp;quot; used throughout that is a shared part. No need for lazy there ... we&amp;#39;re not concerned about garbage collection because it persists throughout the lifetime of the application and the import in the locator simply becomes a reference to the singleton. For short-lived views, absolutely. Make it lazy, and only have it come into scope if/when needed. With a little clever magic you could also use ExportFactory and generate what you need with a WeakReference so when the control is done, it can go out of scope.&lt;br /&gt;&lt;br /&gt;2. Not sure I catch this. Swapping the views in a content control can have many implications. You might use a viewmodel-first approach that uses a locator similar to what Caliburn does and fires the view in, or you might use a region management pattern, or any other means.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5544848080928746603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/5544848080928746603'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1268945865133#c5544848080928746603' 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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' 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-6268778011739043951</id><published>2010-03-18T16:52:11.671-04:00</published><updated>2010-03-18T16:52:11.671-04:00</updated><title type='text'>Hi,
I have few questions
1. In the locator class, ...</title><content type='html'>Hi,&lt;br /&gt;I have few questions&lt;br /&gt;1. In the locator class, Are we going to have all the viewmodels exposed as Lazy&lt;br /&gt;2. Lets say, I have to change the views displayed in a contentcontrol, am I going to properties of all the views as  properties&lt;br /&gt;like below in the ViewModel&lt;br /&gt;&lt;br /&gt;[Import]&lt;br /&gt;public Lazy View1{get;set;}&lt;br /&gt;[Import]&lt;br /&gt;public Lazy View2{get;set;}</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/6268778011739043951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/6268778011739043951'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1268945531671#c6268778011739043951' title=''/><author><name>lee</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1893675064'/></entry><entry><id>tag:blogger.com,1999:blog-8944256652433533647.post-4765629513883713640</id><published>2010-03-18T04:16:57.864-04:00</published><updated>2010-03-18T04:16:57.864-04:00</updated><title type='text'>This compares well with the ViewModelLocator class...</title><content type='html'>This compares well with the ViewModelLocator class in Laurent Bugnion&amp;#39;s MVVM Lite framework. Your implementation using MEF requires less code, and you get loose coupling of ViewModel implementations.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/4765629513883713640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8944256652433533647/7862297362669278672/comments/default/4765629513883713640'/><link rel='alternate' type='text/html' href='http://csharperimage.jeremylikness.com/2010/03/viewmodel-binding-with-managed.html?showComment=1268900217864#c4765629513883713640' title=''/><author><name>Michael</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/viewmodel-binding-with-managed.html' ref='tag:blogger.com,1999:blog-8944256652433533647.post-7862297362669278672' source='http://www.blogger.com/feeds/8944256652433533647/posts/default/7862297362669278672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-765101965'/></entry></feed>
