tag:blogger.com,1999:blog-73040859714917035212024-02-07T19:21:01.126+01:00Windows developer futureFuture versions of Microsoft technologies and productsMartin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.comBlogger92125tag:blogger.com,1999:blog-7304085971491703521.post-46062632914047637852011-05-12T22:37:00.000+02:002011-05-13T19:02:28.558+02:003D Graphics in Silverlight 5 Beta: links + cool apps !<p>Useful links</p> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED06">Graphics & 3D with Silverlight 5</a> </li> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/KEY02">MIX11 Day 2 Keynotes</a> </li> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a> </li> <li><a href="http://msdn.microsoft.com/en-us/library/gg197424(XNAGameStudio.35).aspx">3-D Graphics Overview</a> </li> <li><a href="http://code.msdn.microsoft.com/XNA-Math-Helper-DLL-d4d1f7d4">XNA Math Library</a> </li> <li><a href="http://aarononeal.info/?p=145">HLSL Build Task with Visual Studio Integration</a> </li> <li><a href="http://msdn.microsoft.com/en-us/library/gg197425(XNAGameStudio.35).aspx">Walkthrough: Creating and Animating a 3-D Textured Cube in Silverlight</a> </li> <li><a href="http://blogs.msdn.com/b/silverlight_sdk/archive/2011/04/13/what-s-new-in-silverlight-5-beta-3d-graphics-support.aspx">What's new in Silverlight 5 beta? 3D graphics support!</a> </li> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/05/05/silverlight-5-beta-rough-notes-the-third-dimension.aspx">Silverlight 5 Beta Rough Notes–The Third Dimension</a> </li> <li><a href="http://johnpapa.net/3dmix11">Silverlight 5 3D Housebuilder Project Shown at MIX11</a> </li> <li><a href="http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=Topic&f%5B0%5D.Value=Graphics%20and%203D&f%5B0%5D.Text=Graphics%20and%203D&f%5B1%5D.Type=Technology&f%5B1%5D.Value=Silverlight">MSDN Code Gallery</a> </li> <li><a href="http://aarononeal.info/">Aaron Oneal’s Blog</a> </li> <li><a href="http://blogs.msdn.com/b/eternalcoding/">David Catuhe’s Blog</a> </li> <li><a href="http://sl3dmi.codeplex.com/">Silverlight 3D Model Importer</a>  </li> <li><a href="http://babylontoolkit.codeplex.com/">Babylon Toolkit</a></li> </ul> <p><a href="http://cid-dbcaf7311f080ba2.office.live.com/self.aspx/Publiczny/SL5/Beta/SL5Beta^_3D.zip">My first Silverlight 3D app</a> (based on <a href="http://code.msdn.microsoft.com/Colored-Non-Textured-3D-c0e3cda6">Color Cube Sample</a> from <a href="http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=Topic&f%5B0%5D.Value=Graphics%20and%203D&f%5B0%5D.Text=Graphics%20and%203D&f%5B1%5D.Type=Technology&f%5B1%5D.Value=Silverlight">MSDN gallery</a>):</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9dI-cR9SB7Za4wPJHAApkd_56ynV6T0ew2CJZkdZR3WjrOJqZBDJTAKULmsow4_kuea5troziUFk9_ivOkx0t8Fk___hk9pX3kydSz1gg2GjPSdxfZwPZEvgDal-qspYPfjbeBXQcWGY/s1600-h/01_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_Przechwytywanie" border="0" alt="01_Przechwytywanie" src="http://lh6.ggpht.com/_D_LHhy5fi8o/Tc1izbqHJXI/AAAAAAAAA3g/RbACaCMWX7Q/01_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="400" /></a> </p> <p>Interesting samples (very cool!):</p> <p><a href="http://code.msdn.microsoft.com/Babylon-3D-engine-f0404ace">Babylon 3D Engine</a></p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/Tc1i0OzQxAI/AAAAAAAAA3k/t2AQJeBE6gw/s1600-h/03_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_Przechwytywanie" border="0" alt="03_Przechwytywanie" src="http://lh6.ggpht.com/_D_LHhy5fi8o/Tc1i1LU8fsI/AAAAAAAAA3o/mRWbq-iWw7A/03_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="401" /></a><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/Tc1i1gWUK0I/AAAAAAAAA3s/Vg8CjE2ps0Y/s1600-h/04_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_Przechwytywanie" border="0" alt="04_Przechwytywanie" src="http://lh3.ggpht.com/_D_LHhy5fi8o/Tc1i2eno9uI/AAAAAAAAA3w/P4tG3h5tYuE/04_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="401" /></a></p> <p><a href="http://code.msdn.microsoft.com/3D-Housebuilder-demo-from-def4af04">3D Housebuilder</a></p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/Tc1i3EqE2eI/AAAAAAAAA30/SJ2lmq41RUw/s1600-h/20_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="20_Przechwytywanie" border="0" alt="20_Przechwytywanie" src="http://lh3.ggpht.com/_D_LHhy5fi8o/Tc1i3uTrx3I/AAAAAAAAA34/CWGwxG5tDfo/20_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="401" /></a></p> <p><a href="http://code.msdn.microsoft.com/Solar-Wind-3D-Sample-4cb56170">Solar Wind 3D Sample </a></p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/Tc1i4PqGibI/AAAAAAAAA38/l74y9gYjamg/s1600-h/17_Przechwytywanie7.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="17_Przechwytywanie" border="0" alt="17_Przechwytywanie" src="http://lh3.ggpht.com/_D_LHhy5fi8o/Tc1i46eKu6I/AAAAAAAAA4A/Bjlg9xk2HJI/17_Przechwytywanie_thumb3.png?imgmax=800" width="640" height="401" /></a> </p> <p> <a href="http://www.simonferquel.net/blog/sl3dmi/lizard.html">A bump mapped Lizard</a> & <a href="http://www.simonferquel.net/blog/sl3dmi/tank.html">An animated Tank</a> (from <a href="http://sl3dmi.codeplex.com/">Silverlight 3D Model Importer</a>)</p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/Tc1i5axaN7I/AAAAAAAAA4E/NRkkUDTLgUE/s1600-h/18_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="18_Przechwytywanie" border="0" alt="18_Przechwytywanie" src="http://lh5.ggpht.com/_D_LHhy5fi8o/Tc1i6F1v8jI/AAAAAAAAA4I/-KsIvDULjZg/18_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="401" /></a><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/Tc1i6daKHJI/AAAAAAAAA4M/sVXCV0rWV3E/s1600-h/19_Przechwytywanie4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="19_Przechwytywanie" border="0" alt="19_Przechwytywanie" src="http://lh4.ggpht.com/_D_LHhy5fi8o/Tc1i64pLmvI/AAAAAAAAA4Q/B1XMdSrcudU/19_Przechwytywanie_thumb2.png?imgmax=800" width="640" height="401" /></a></p> <p>I will blog more details about SL5 3D graphics in the upcoming months.</p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com3tag:blogger.com,1999:blog-7304085971491703521.post-46753184088537273432011-05-08T12:57:00.000+02:002011-05-08T15:51:39.015+02:00Reactivation!!! New features in Silverlight 5 Beta + Links + Samples - Part I<p>I’ve reactivated this blog! I always love new technologies, especially CTPs and Betas!</p> <p>What’s new in Silverlight 5? Here’s my summary of the features already announced for it. <font color="#ff0000">Silverlight 5 Beta features are colored red</font>. I have made some demos. In addition, I have included some interesting samples I had found on the Web. </p> <h1>Intro</h1> <ul> <li><a href="http://www.microsoft.com/silverlight/future/">The Future of Microsoft Silverlight</a> <li><a href="http://www.silverlight.net/getstarted/silverlight-5-beta/">Get Started: Silverlight 5 Beta</a> <li><a href="http://go.microsoft.com/fwlink/?LinkId=214343">Silverlight 5 Features Document</a> <li><a href="http://team.silverlight.net/announcement/silverlight-5-beta-ndash-available-now/">Silverlight 5 Beta – available now!</a> <li><a href="http://timheuer.com/blog/archive/2011/04/13/whats-new-in-silverlight-5-a-guide.aspx">Silverlight 5 Beta–A guide to the new features</a> <li><a href="http://www.ningzhang.org/2011/04/14/silverlight-5-beta-development-tools/">Silverlight 5 Beta Development Tools</a> <li><a href="http://www.silverlight.net/learn/videos/all/whats-new-in-silverlight-5-beta/">What's New in Silverlight 5 Beta (Pete Brown)</a> <li><a href="http://msdn.microsoft.com/en-us/library/gg986857(VS.96).aspx">What's New in Silverlight 5 Beta (msdn)</a></li></ul> <h1>Data binding</h1> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/cc278072(VS.96).aspx">Data Binding</a></li></ul> <h4><font color="#ff0000">Implicit Data Templates</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://www.silverlight.net/learn/videos/all/implicit-data-templates-in-silverlight-5-beta/">Implicit Data Templates in Silverlight 5 Beta</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/26/silverlight-5-beta-rough-notes-implicit-data-templates.aspx">Silverlight 5 Beta Rough Notes–Implicit Data Templates</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.datatemplate.datatype(VS.96).aspx">DataTemplate.DataType</a></li></ul> <h4><font color="#ff0000">RelativeSouce Ancestor Bindings</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/26/silverlight-5-beta-rough-notes-ancestor-relative-binding.aspx">Silverlight 5 Beta Rough Notes–Ancestor Relative Binding</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.data.binding.relativesource(VS.96).aspx">Binding.RelativeSource</a> </li></ul> <h4><font color="#ff0000">Binding In Style Setters</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a></li></ul> <h4><font color="#ff0000">Binding to Dynamic Properties</font></h4> <ul> <li><a href="http://blogs.msdn.com/b/silverlight_sdk/archive/2011/04/26/binding-to-dynamic-properties-with-icustomtypeprovider-silverlight-5-beta.aspx">Binding to Dynamic Properties with ICustomTypeProvider</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/26/silverlight-5-beta-binding-to-dynamic-properties.aspx">Silverlight 5 Beta–Binding to Dynamic Properties</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.reflection.icustomtypeprovider(VS.96).aspx">ICustomTypeProvider</a></li></ul> <h4><font color="#ff0000">Databinding Debugging</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://www.silverlight.net/learn/videos/all/silverlight-5-beta-debugging-binding/">Silverlight 5 Beta Debugging Binding</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/28/silverlight-5-beta-rough-notes-debugging-data-binding.aspx">Silverlight 5 Beta Rough Notes–Debugging Data-Binding</a></li></ul> <h4>DataContextChanged Event</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a></li></ul> <h4>UpdateSourceTrigger: PropertyChanged</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a></li></ul> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Binding.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>XAML</h1> <h4><font color="#ff0000">Custom Markup Extensions</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/26/silverlight-5-beta-rough-notes-markup-extensions.aspx">Silverlight 5 Beta Rough Notes–Markup Extensions</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.markup.markupextension(VS.96).aspx">MarkupExtension</a></li></ul> <h4><font color="#ff0000">CornerRadius, Thickness, Size, and Rect - attribute syntax on properties</font></h4> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Xaml.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Layout</h1> <h4>Inter-layout transitions</h4> <h4></h4> <ul> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a></li></ul> <h1>Input</h1> <h4><font color="#ff0000">ClickCount</font></h4> <ul> <li><a href="http://www.silverlight.net/learn/videos/all/silverlight-5-mouse-button-double-and-multi-click/">Silverlight 5 Mouse Button Double and Multi Click</a> <li><a href="http://msdn.microsoft.com/en-us/library/cc189029(VS.96).aspx">Mouse Support</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.input.mousebuttoneventargs.clickcount(VS.96).aspx">ClickCount</a></li></ul> <h4><font color="#ff0000">ItemsControl Search</font></h4> <ul> <li><a href="http://pitorque.de/MisterGoodcat/post/Silverlight-5-Tidbits-Incremental-Search.aspx">Silverlight 5 Tidbits–Incremental Search</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textsearch.textpath(VS.96).aspx">TextPath</a></li></ul> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Input.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Text</h1> <h4><font color="#ff0000">RichTextBoxOverflow</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://www.silverlight.net/learn/videos/all/silverlight-5-multi-column-linked-text/">Silverlight 5 Multi-Column and Linked Text</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/27/silverlight-5-beta-rough-notes-linked-richtextboxes.aspx">Silverlight 5 Beta Rough Notes–Linked RichTextBoxes</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextboxoverflow(VS.96).aspx">RichTextBoxOverflow</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(VS.96).aspx">RichTextBox</a></li></ul> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4jpxYPtDhvllsAuI16M04ThDHNuHMobW_gU-yRr0QAaihfGmsuku-Hc1QGnhueu1zKgEEjRVau9OQWo5JRdNisnhBhoD61ByhHMwFQr89lXauDhaJwPrp0QFZublWoKucV48zdInyemc/s1600-h/OverflowCopy4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Overflow - Copy" border="0" alt="Overflow - Copy" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TcaeBkc0tJI/AAAAAAAAA1Q/EqCPHhgPok4/OverflowCopy_thumb2.png?imgmax=800" width="640" height="401"></a> </p> <h4><font color="#ff0000">Tracking & leading</font></h4> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.control.characterspacing(VS.96).aspx">CharacterSpacing</a> (<a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.control(VS.96).aspx">Control</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.96).aspx">TextBlock</a>, and <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.textelement(VS.96).aspx">TextElement</a>) <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.block.lineheight(VS.96).aspx">LineHeight</a> & <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.block.linestackingstrategy(VS.96).aspx">LineStackingStrategy</a> ( <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.block(VS.96).aspx">Block</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.96).aspx">TextBlock</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox(VS.96).aspx">TextBox</a> and <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(VS.96).aspx">RichTextBox</a>)</li></ul> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TcaeFuG-yZI/AAAAAAAAA1U/Bo67X_IlWTE/s1600-h/text_characterspacing_tracking_leadi%5B1%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="text_characterspacing_tracking_leading" border="0" alt="text_characterspacing_tracking_leading" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TcaeJ6bAiXI/AAAAAAAAA1Y/Gmbyu8Pj-XY/text_characterspacing_tracking_leadi.png?imgmax=800" width="640" height="459"></a><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TcaeMfxA0yI/AAAAAAAAA1c/Mj3zsfqUrGg/s1600-h/text_lineheight4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="text_lineheight" border="0" alt="text_lineheight" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TcaePQpSdQI/AAAAAAAAA1g/Yzx4eCJh_E0/text_lineheight_thumb2.png?imgmax=800" width="640" height="174"></a> </p> <h4>Text Clarity</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a></li></ul> <h4>Full OpenType Support</h4> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Text.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Printing</h1> <h4>Vector PostScript Printing</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a></li></ul> <h1>Media</h1> <h4><font color="#ff0000">Low-latency audio (SoundEffect API)</font></h4> <ul> <li><a href="http://www.silverlight.net/learn/videos/all/silverlight-5-low-latency-sound-effects/">Silverlight 5 Low-Latency Sound Effects</a></li></ul> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TcaeSuckiMI/AAAAAAAAA1k/8J3wzXEGtcA/s1600-h/SoundEffect_TrickPlay9.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SoundEffect_TrickPlay" border="0" alt="SoundEffect_TrickPlay" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TcaeWn_sx-I/AAAAAAAAA1o/tv--WrxNx9I/SoundEffect_TrickPlay_thumb5.png?imgmax=800" width="640" height="211"></a> </p> <h4><font color="#ff0000">TrickPlay*</font></h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED10">Building In Browser Experiences with Silverlight 5</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/05/03/silverlight-5-beta-rough-notes-trick-play-video.aspx">Silverlight 5 Beta Rough Notes–Trick Play Video</a></li></ul> <p>*video-only for the Beta</p> <h4>Improved power awareness</h4> <h4>Remote-control support</h4> <h4>Seamless switching between DRM media sources</h4> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Media.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Trusted apps</h1> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx">Trusted Applications</a></li></ul> <h1><font size="5">in-browser*</font></h1> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED12">Advanced Features in Silverlight 5</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/27/silverlight-5-beta-rough-notes-trusted-apps-in-the-browser.aspx">Silverlight 5 Beta Rough Notes–Trusted Apps In The Browser</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a></li></ul> <p>*Windows-only for the Beta</p> <h4><font color="#ff0000">Enterprise Group Policy Support</font></h4> <h4><font color="#ff0000">Hosting HTML content (and <font color="#ff0000">NotificationWindow </font>?)</font></h4> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser(VS.96).aspx">WebBrowser</a></li></ul> <h4><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TcaeaNygZRI/AAAAAAAAA1s/M3-Icu-_h6c/s1600-h/Trusted_1_NotElevatedCopy4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_1_NotElevated - Copy" border="0" alt="Trusted_1_NotElevated - Copy" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TcaedmItsRI/AAAAAAAAA1w/y77KAfzAAKo/Trusted_1_NotElevatedCopy_thumb2.png?imgmax=800" width="640" height="448"></a> <a href="http://lh5.ggpht.com/_D_LHhy5fi8o/Tcaem537zQI/AAAAAAAAA10/SEWWyW-gwGE/s1600-h/Trusted_1_Elevated3Copy7.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_1_Elevated3 - Copy" border="0" alt="Trusted_1_Elevated3 - Copy" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghb8tJYf9J-xOwPyKlEusCjgDeeB1qnXTPMfijnzF2UY_Rkus8X3RiXHp2jWLxh-ZiRlqUQ1ghaxAaQtvfNZuc-jkIeP84UaCA-KXjMSd5vhkUmXTVZTRM51Bd0R2Xrg3kQ064IHM3-uk/?imgmax=800" width="640" height="513"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/Tcae3mmlWaI/AAAAAAAAA18/gYxU1vkojiI/s1600-h/PuzzleCopy4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Puzzle - Copy" border="0" alt="Puzzle - Copy" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFAYNr3qE7xBvn980jVKux68D-lb4YqfZOss-tUKDSEOX5T5t-6c0DbUoRxZD7LE3nszaDHbQZ1t-2-t-SUbt0rUD1064pNd0qETum614kjT2hiCIH5CgHYUJtyRcUYlSOmlutI8Jm-1c/?imgmax=800" width="640" height="444"></a> </h4> <h4><font color="#ff0000">Unrestricted File Access</font></h4> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRd2zDpIpcLDX4_Vma4T0A5M56N2kLL1UdYgbIRMvFQDNYOF1nDOwzlKsZrrhc83cAn1HocUD0Vasri7vYE4NJdiHHpddQ3hSAgeU55ejimbYsRDpq5lrIqNXWrgkd06MEiRxAQZhi3jk/s1600-h/Trusted_2Copy4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_2 - Copy" border="0" alt="Trusted_2 - Copy" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TcafPZSYvnI/AAAAAAAAA2I/OyxHYH31N8o/Trusted_2Copy_thumb2.png?imgmax=800" width="640" height="387"></a> </p> <h4><font color="#ff0000">Full keyboard access in full-screen</font></h4> <h4><font color="#ff0000">…</font></h4> <h4>COM</h4> <h4>P/Invoke</h4> <h1><font size="5">out of browser</font></h1> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED12">Advanced Features in Silverlight 5</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a> <li><a href="http://msdn.microsoft.com/en-us/library/system.windows.window(VS.96).aspx">Window</a></li></ul> <h4><font color="#ff0000">Unrestricted File Access</font></h4> <h4><font color="#ff0000">Multiple Native Windows</font></h4> <ul> <li><a href="http://www.silverlight.net/learn/videos/all/silverlight-5-native-operating-system/">Silverlight 5 Native Windows</a> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/18/silverlight-5-beta-rough-notes-multiple-window-support.aspx">Silverlight 5 Beta Rough Notes–Multiple Window Support</a></li></ul> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TcafZBWSc0I/AAAAAAAAA2M/Dtn78GjxRxI/s1600-h/MultipleWindows7.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MultipleWindows" border="0" alt="MultipleWindows" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TcafkpDgGBI/AAAAAAAAA2Q/yMdrhhuzgW8/MultipleWindows_thumb5.png?imgmax=800" width="640" height="512"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TcafumWrQMI/AAAAAAAAA2U/nnAmXncucoY/s1600-h/MultipleWindowsChrome5.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MultipleWindowsChrome" border="0" alt="MultipleWindowsChrome" src="http://lh4.ggpht.com/_D_LHhy5fi8o/Tcaf59tS7DI/AAAAAAAAA2Y/DoS9t4xqOzY/MultipleWindowsChrome_thumb3.png?imgmax=800" width="640" height="512"></a> </p> <h4>Main Window Improvements</h4> <h4>P/Invoke</h4> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Trusted.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Network communication</h1> <h4>WS-Trust: message security - encrypted at the WCF level, SAML authentication token</h4> <h1>PivotViewer</h1> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED12">Advanced Features in Silverlight 5</a> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a></li></ul> <h1>3D Graphics</h1> <p><font color="#ff0000" size="5"><strong>I’ll write next post about 3D !</strong></font></p> <h4><font color="#ff0000">XNA graphics API (3D, 2D)</font></h4> <h4><font color="#ff0000">DrawingSurface control</font></h4> <h4>XNA Effects</h4> <h4>XNA Math Library</h4> <h1>Others</h1> <h4><font color="#ff0000">Default filename in SaveFileDialog</font></h4> <p><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL5/Beta/SL5Beta^_Others.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <h1>Performance</h1> <h4><font color="#ff0000">Improved startup performance (multi‐core background JIT support)</font></h4> <h4><font color="#ff0000">XAML Parser performance optimizations(ResourceDictionaries, UserControls)</font></h4> <h4><font color="#ff0000">Improved Graphics stack - Independent Animations</font></h4> <ul> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/27/silverlight-5-beta-rough-notes-composition-thread.aspx">Silverlight 5 Beta Rough Notes–Composition Thread?</a></li></ul> <h4><font color="#ff0000">Improved Text Layout performance</font></h4> <h4><font color="#ff0000">Hardware Decoding H.264</font></h4> <ul> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/05/03/silverlight-5-beta-rough-notes-hardware-decoded-h-264.aspx">Silverlight 5 Beta Rough Notes–Hardware Decoded H.264</a></li></ul> <h4><font color="#ff0000">Network Latency optimizations</font></h4> <h4><font color="#ff0000">Hardware acceleration in windowless mode with Internet Explorer 9</font></h4> <ul> <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/26/silverlight-5-beta-rough-notes-silverlight-and-ie9-in-windowless-mode.aspx">Silverlight 5 Beta Rough Notes–Silverlight and IE9 in Windowless Mode</a></li></ul> <h4>64-bit</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED12">Advanced Features in Silverlight 5</a></li></ul> <h1>Tools</h1> <h4>Automated UI Testing</h4> <ul> <li><a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter 2010 Keynote with Scott Guthrie</a></li></ul> <h4>Profiling Support</h4> <ul> <li><a href="http://channel9.msdn.com/Events/MIX/MIX11/MED07">Tips for Improving Performance in Applications Built with Silverlight</a></li></ul> <p>In the nearest future I’ll write post about cool 3D graphics.</p> <p>Cheers!</p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com1tag:blogger.com,1999:blog-7304085971491703521.post-91733898236984517682010-08-05T23:42:00.000+02:002010-08-06T05:09:42.637+02:00WCF RIA SERVICES v1.0 - Extra Cool Samples !<p>Today I’ll write about very interesting scenarios with WCF RIA Services. Read this post!</p> <h4>I. NHibernate</h4> <p>You can quite easily use NHibernate as your DAL. Look at the latest <a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=4316">NHibernate Sample</a> from <a href="http://code.msdn.microsoft.com/RiaServices">WCF RIA Services Code Gallery</a> with related entities! I have made a simpler example without associations (look below).</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt5gKaT1eI/AAAAAAAAAx0/zbcpJ-1SyP8/s1600-h/01_NHibernate_01%5B4%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_NHibernate_01" border="0" alt="01_NHibernate_01" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt5mzLQOzI/AAAAAAAAAx4/yhDbGXEJtD0/01_NHibernate_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFt5swq6uJI/AAAAAAAAAx8/wlI-3DqJs98/s1600-h/01_NHibernate_02%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_NHibernate_02" border="0" alt="01_NHibernate_02" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt5zBfKEwI/AAAAAAAAAyA/z0k39IcdZtY/01_NHibernate_02_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt55Qy9z7I/AAAAAAAAAyE/ubA0UtbOphw/s1600-h/01_NHibernate_03%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_NHibernate_03" border="0" alt="01_NHibernate_03" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt6AMkHZCI/AAAAAAAAAyI/FB36L14Xs9c/01_NHibernate_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt6GT4mtEI/AAAAAAAAAyM/8ayvwgtHG1Q/s1600-h/01_NHibernate_04%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_NHibernate_04" border="0" alt="01_NHibernate_04" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFt6M9TNeRI/AAAAAAAAAyQ/aDIejj2HZq0/01_NHibernate_04_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFt6TI1J7VI/AAAAAAAAAyU/gW8baSVWg6Y/s1600-h/01_NHibernate_05%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_NHibernate_05" border="0" alt="01_NHibernate_05" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt6ZUoWCvI/AAAAAAAAAyY/2ttiHdykfPE/01_NHibernate_05_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <h4>II. MVVM</h4> <p align="left">Nikhil Kothari at MIX 10’ has shown <a href="http://www.nikhilk.net/RIA-Services-MIX10-Slides-Code.aspx">how to use WCF RIA Services with MVVM pattern</a> (domain context as a member of view model). Deepesh Mohnani at TechEd 2010 has presented a great <a href="http://www.msteched.com/2010/NorthAmerica/WEB307">WCF RIA Services application with MVVM</a> (for lazy developers: view model inherited from Entity). </p> <h4>III. Lookups (ComboBoxDataSource)</h4> <p align="left">Kyle McClellan from WCF RIA Services team has added to code gallery <a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=RiaServices&ReleaseId=4521">a cool example with an extension to support lookups - ComboBoxDataSource</a>. He has implemented cascading ComboBoxes scenario (lookup data sources with parameters like DomainDataSource filters). You can also see how to use lookups for Entity associations. Read about details of the solution <a href="http://blogs.msdn.com/b/kylemc/archive/2010/06/18/combobox-sample-for-ria-services.aspx">here</a> and <a href="http://jeffhandley.com/archive/2010/06/22/DomainDataSource-ComboBox.aspx">here</a>. </p> <p align="left">I have built a simpler example with one ComboBox for Entity association (look below). </p> <p align="left"><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt6gIWm7-I/AAAAAAAAAyg/RywH1aBsrpg/s1600-h/02_Lookup_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_Lookup_01" border="0" alt="02_Lookup_01" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy5pQ8m74u0KLV6W_dhothsZhVbmhGPe7K6dpoMwIYX97VKhJnPBAzV9HIsErNwk-c2EtCHg_a33su34d-ax60GvXbnAlVcX6bsNHCFeRYgnWQAKt6LLFSYlT3m6H2v-qbLRdvmBxZO-w/?imgmax=800" width="644" height="484"></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt6van-I1I/AAAAAAAAAyo/mFgblXoGaG4/s1600-h/02_Lookup_03%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_Lookup_03" border="0" alt="02_Lookup_03" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFt63FDU39I/AAAAAAAAAys/tKpE89TZZy0/02_Lookup_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jyhHG7vS9YlMhoD4onLS1VeUJr-wPvfg6aKIjGVbHURzsbXkwHfCdjtV9ZSi_DfgodlCQwSY46MLDrZeJlMG9M4atHHV5GslWv2j28m7jCQJgLDhsN1gOJrHf2yE1ohWSz3wAFMse5I/s1600-h/02_Lookup_04%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_Lookup_04" border="0" alt="02_Lookup_04" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt7CBFD3BI/AAAAAAAAAy0/IQjQPrb0D0g/02_Lookup_04_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <h4>IV. T4</h4> <p>Early versions of <a href="http://riaservicescontrib.codeplex.com/">WCF RIA Services Contrib</a> had contained T4 templates for generating domain services and metadata classes (replacement WCF RIA Services wizard). Now T4 templates have been made obsolete - WCF RIA Services V2 itself is <a href="http://dotnet.uservoice.com/forums/57026-wcf-ria-services">supposed to start using T4 templates</a>! </p> <h4>V. Fluent metadata !</h4> <p>The standard approach of defining WCF RIA Services entity metadata is based on attributes. But some developers don't like attributes and ask for a fluent interface instead. Nikhil Kothari has created <a href="http://www.nikhilk.net/RIA-Services-Fluent-Metadata-API.aspx">Fluent API for .NET RIA Services Metadata</a> for July 09’ version. LINQ expressions are mapped to WCF RIA Services. attributes. You can also define your own custom rules (mapped as standard <em>CustomValidation</em> attributte). Nikhil will add these extensions to <a href="http://riaservices.codeplex.com/">RIA Services Essentials</a> at <a href="http://www.codeplex.com/">codeplex</a>. </p> <p>Some people and I have migrated these extensions to work with WCF RIA Services V1. I have made example application with fluent metadata (look below).</p> <p align="center"><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFt7I4YxFnI/AAAAAAAAAy4/1q42VG1Ys54/s1600-h/03_FluentMetadata_02%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_FluentMetadata_02" border="0" alt="03_FluentMetadata_02" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt7P68bdwI/AAAAAAAAAy8/X8vLcGm1ZbQ/03_FluentMetadata_02_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt7WmxAOeI/AAAAAAAAAzA/uYESJSp9QXk/s1600-h/03_FluentMetadata_03%5B3%5D.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="03_FluentMetadata_03" border="0" alt="03_FluentMetadata_03" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt7dvfMnCI/AAAAAAAAAzE/qBUJ9FGWw1Y/03_FluentMetadata_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFt7jEvclxI/AAAAAAAAAzI/ahDDmztGhvc/s1600-h/03_FluentMetadata_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_FluentMetadata_01" border="0" alt="03_FluentMetadata_01" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFt7pwPJntI/AAAAAAAAAzM/eKmzUKTlG4I/03_FluentMetadata_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <h4>VI. Offline</h4> <p align="left">Nikhil Kothari at TechEd 09’ South Africa has presented <a href="http://www.nikhilk.net/TechEd09-South-Africa-Samples.aspx">an offline synchronization example</a> (he’ll plan to public update for it). </p> <p align="left">WCF RIA Services <em>DomainContext</em> is good for offline scenario. <a href="http://riaservicescontrib.codeplex.com/">WCF RIA Services Contrib</a> contains an extension to serialize it to Isolated Storage and deserialize from. </p> <p align="left">I have tried to migrate Nikhil Kothari’s solution to work with WCF RIA services V1 and it … works! I have built simple application using this mechanism (look below).</p> <p align="center"><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt7wOnK61I/AAAAAAAAAzQ/bQ3dfhwCTH8/s1600-h/04_Offline_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_Offline_01" border="0" alt="04_Offline_01" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1GXXqVe_6Z1lbyIPwVD53uCEhdtSBt4Fez5hqj1oyvUGdkAnAvO-UJhEq89mGcnk6_NzetAaE6Z-bvq56sLcExulYe6NQv4Q0a2e7hfOgpjPZxE3EXuKd7M73PVOcmNPivho7MObUNqY/?imgmax=800" width="644" height="484"></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt7_9kTnRI/AAAAAAAAAzY/TlaSyV-7F_Q/s1600-h/04_Offline_02%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_Offline_02" border="0" alt="04_Offline_02" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TFt8JADZdOI/AAAAAAAAAzc/vWX-9_AwOvQ/04_Offline_02_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt8SLmKeiI/AAAAAAAAAzg/ht48Flv4QqA/s1600-h/04_Offline_03%5B3%5D.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="04_Offline_03" border="0" alt="04_Offline_03" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt8bMRXaQI/AAAAAAAAAzk/K6xrbIVO2eU/04_Offline_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt8jvNE-gI/AAAAAAAAAzo/8YoZZReESxY/s1600-h/04_Offline_05%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_Offline_05" border="0" alt="04_Offline_05" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFt8r8qoi_I/AAAAAAAAAzs/yaoS4bc3wWw/04_Offline_05_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFt8z4su4EI/AAAAAAAAAzw/vxRjfj2UD3s/s1600-h/04_Offline_06%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_Offline_06" border="0" alt="04_Offline_06" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFt883WPMbI/AAAAAAAAAz0/vOSAXzG_VeY/04_Offline_06_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> </p> <p align="left">You can download my examples (NHibernate, Lookup, Fluent metadata, Offline) here:</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_SERVICES^_V1/WCF^_RIA^_Services^_V1.0^_Suplement.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-7868332949749720022010-08-02T21:58:00.000+02:002010-08-03T00:50:07.106+02:00WCF RIA SERVICES v1.0 Samples - part II<p>I showed <a href="http://martinkruszynski.blogspot.com/2010/07/wcf-ria-services-v10-samples-part-i.html">part I of my WCF RIA Services v1.0 samples</a> a few days ago. Today I’ll continue this topic. <p>I sign changes in my samples: <ul> <li><font color="#ff0000">migration changes & new features</font> <li><font color="#ff8000">migration changes</font></li></ul> <p>Let’s continue … <p><font color="#ff8000">08. RelatedEntitiesDemo</font></p> <p><font color="#ff8000">09. CompositionExample</font></p> <p><font color="#ff0000">10. InheritanceExample</font></p> <p>The workaround for EF described <a href="http://systemmetaphor.blogspot.com/2010/02/wcf-ria-services-advanced-topics-fully.html">here</a> no longer needed. I have added modifying entities to my sample application. </p> <p><font color="#ff8000">11. PresentationModelDemo</font></p> <p><font color="#ff8000">12. WcfDemo</font></p> <p><em>WpfClientApp</em> (and SOAP communication) moved to new <em>EndpointsDemo</em> example.</p> <p><font color="#ff0000">13. EndpointsDemo</font></p> <p>By default, only the Binary endpoint is enabled for domain services without additional configuration. You can easily enable another endpoint (ODATA, SOAP, JSON or custom) by registering an endpoint factory in the <em>Web.config</em> file as shown below. </p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFdKRa2v1GI/AAAAAAAAAxU/lgswfF3YM6s/s1600-h/01_Endpoints_01%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_Endpoints_01 - mod" border="0" alt="01_Endpoints_01 - mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFdKZJJycQI/AAAAAAAAAxY/UOzYbrKYGmA/01_Endpoints_01%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>The ODATA endpoint has very limited support in V1. There is no Update or LINQ query support. Deepesh Mohnani has <a href="http://blogs.msdn.com/b/deepm/archive/2010/05/14/silverlight-tv-episode-26-exposing-soap-json-and-odata-endpoints-from-ria-services.aspx">a great post about WCF RIA Services endpoints</a>.</p> <p>Clients in my example: </p> <ul> <li><em>BusinessApplicationDemo</em> (Silverlight, default endpoint)</li> <li><em>BusinessApplicationDemo.Web</em> (AJAX, JSON)</li> <li><em>WpfClientApp</em> (WPF, SOAP)</li> <li><em>ODataClientApp</em> (Silverlight, ODATA)</li></ul> <p>Below is an example query method in the Ajax client. <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFdKfFEXnKI/AAAAAAAAAxc/4UfLfKG5ozY/s1600-h/01_Endpoints_02%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_Endpoints_02 - mod" border="0" alt="01_Endpoints_02 - mod" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFdKlmDK8uI/AAAAAAAAAxg/GPBV3VNbNBk/01_Endpoints_02%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFdKsu-5jTI/AAAAAAAAAxk/gieNgXRUOjk/s1600-h/01_Endpoints_03%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_Endpoints_03" border="0" alt="01_Endpoints_03" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFdKx98M6oI/AAAAAAAAAxo/jZDurjwEQg8/01_Endpoints_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p><font color="#ff0000">14. ASPNetDynamicDataExample</font></p> <p>I have used a new project template called <em>ASP.NET Dynamic Data Domain Service Web Application</em> in <a href="http://go.microsoft.com/fwlink/?LinkId=185121">WCF RIA Services Toolkit</a>.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDqYXyNDfWGsA8nCBL-UBasdDhTtLmPT39rPXXfZROU72RIwh4NaJAYj9Kc6VVhme0T1EdLg6x-Hp29tjjTNx_VMwO8hveNJkbwintHdN97WrB6qk_mW2snKKJWpIINwt0gm48lwpCCrY/s1600-h/02_ASPNETDynamicData_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_ASPNETDynamicData_01" border="0" alt="02_ASPNETDynamicData_01" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFdLnSFhS-I/AAAAAAAAAxw/3pcFm6aleF0/02_ASPNETDynamicData_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>All samples from part two you can download here</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_SERVICES^_V1/WCF^_RIA^_Services^_V1.0^_Samples^_Part2.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="left">Cheers!!</p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-15043009967283251872010-07-28T19:32:00.000+02:002010-07-29T05:09:10.069+02:00WCF RIA SERVICES v1.0 Samples - part I<p>In <a href="http://martinkruszynski.blogspot.com/2010_02_01_archive.html" target="_blank">February</a> and <a href="http://martinkruszynski.blogspot.com/2010_03_01_archive.html" target="_blank">March</a> I wrote five good posts with <a href="http://cid-dbcaf7311f080ba2.office.live.com/browse.aspx/Publiczny/WCF%5E_RIA%5E_VS2010%5E_Prev">samples about WCF RIA Services Beta</a>. I have refreshed all these samples to work with WCF RIA Services v1.0. I have tested almost all new WCF RIA Services RC1/RC2/v1 features, too. In the near future I’ll write three posts about WCF RIA Services v1.0 features and various extensions. Today I’ll present first part of it.</p> <p>I sign changes in my samples: <ul> <li><font color="#ff0000">migration changes & new features</font> <li><font color="#ff8000">migration changes</font> </li></ul> <p>Let’s start …</p> <p><font color="#ff0000">1. BusinessApplicationDemo</font></p> <p>If a large number of entities can be returned, consider paging on the client by throttling the results. Now, you can use the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.server.queryattribute.resultlimit(VS.91).aspx">ResultLimit</a> property on the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.server.queryattribute(VS.91).aspx">QueryAttribute</a>. </p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDtjM_KOAI/AAAAAAAAAvI/5-eY_wNHV7M/s1600-h/01_QueryLimit_01mod3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_QueryLimit_01 - mod" border="0" alt="01_QueryLimit_01 - mod" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TFDtq3GV4fI/AAAAAAAAAvQ/K11G6OBatig/01_QueryLimit_01mod_thumb1.png?imgmax=800" width="644" height="484"></a></p> <p>Deepesh Mohnani has written <a href="http://blogs.msdn.com/b/deepm/archive/2010/03/16/using-query-resultlimit-with-domaindatasource.aspx">a great post</a> how to use server throttling with <em>DomainDataSource</em>.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoitZoDEnYIfZT-_D8tnmFR1EsGI_hryIpSTCn9cjP3ThAh0PM_gNpPJIVVzU6Y0Tqk5Bwt_ns0tooQkR0FPFpJ9prakrDEj65ODbGWeRmEHcx1FIlzcyIAh3f-G7_JBcgVi4xuhpQ9IM/s1600-h/01_QueryLimit_02%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_QueryLimit_02 - mod" border="0" alt="01_QueryLimit_02 - mod" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrstJFTRGA-0oxP53oNAumh3N923c4_fiMOpgGq2zsL3ZskumIDvZ7Lm7v_csiyrQVrdsGJG6q_1oTEqgkpw_lICnx9iYCuEy_h99W504gKuAvCb2HG178IE0W6D_m4JvbCE6sncXLWmc/?imgmax=800" width="644" height="484"></a></p> <p>BTW, there are many changes in <em>DomainDataSource</em>. It<a name="_Toc256583451"> no longer blocks loads when another load is pending</a>. <a name="_Toc256583457">SubmitChanges on <em>DomainDataSource</em> no longer automatically reloads data</a>. Filter/sort/group descriptors support binding. There is ICommand support for Load/SubmitChanges/RejectChanges. For more details, read <a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3570">breaking changes</a>.</p> <p>In the latest RIA Services bits, the total server count of the resulting query is not requested by default for paging scenarios. To explicitly request that the Count method is called, you can set the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.client.entityquery.includetotalcount(VS.91).aspx">IncludeTotalCount</a> property on the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.client.entityquery(VS.91).aspx">EntityQuery</a> to true. Deepesh Mohnani has a great post about it <a href="http://blogs.msdn.com/b/deepm/archive/2010/03/18/count-t.aspx">here</a>.</p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFDuAz2ZgqI/AAAAAAAAAvc/igHN7U9Ubco/s1600-h/01_QueryLimit_05mod3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_QueryLimit_05 - mod" border="0" alt="01_QueryLimit_05 - mod" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtXQJzuyyPbN-2g91PI4EtpNx_BvB077Happ3RpDWA6VelF3pzJavSwMmthiODBstIAuitFiFG1SW62JCqjYbeTIifQK5LPilEh8ijAwn4RqwoAgeNkVgwB-OuylwTARpnmt807AGmIbA/?imgmax=800" width="644" height="484"></a></p> <p><em>DomainDataSource</em> will not request for count in non-paging scenarios. As soon as a page size is specified, <em>DomainDataSource</em> will set the IncludeTotalCount property on the EntityQuery for you. By subscribing to the LoadingData event on the <em>DomainDataSource</em> you can override this behavior. </p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDuNinvdnI/AAAAAAAAAvk/yTvFU4gaIOM/s1600-h/01_QueryLimit_03mod7.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_QueryLimit_03 - mod" border="0" alt="01_QueryLimit_03 - mod" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDuTqC8KWI/AAAAAAAAAvo/6-6QyygMdnU/01_QueryLimit_03mod_thumb3.png?imgmax=800" width="644" height="484"></a></p> <p>To reduce the load on the middle tier and database you can use the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.server.outputcacheattribute(VS.91).aspx">OutputCacheAttribute</a> attribute for output caching. Now, clients can cache the response because communication between the client and server has been changed from SOAP with binary encoding (only POST) to REST with binary encoding (GET or POST). </p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDuakXtJ1I/AAAAAAAAAvs/V5mq4FyVLXw/s1600-h/02_OutputCachemod3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_OutputCache - mod" border="0" alt="02_OutputCache - mod" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDuh0WHO_I/AAAAAAAAAvw/c6WvGnXjixE/02_OutputCachemod_thumb1.png?imgmax=800" width="644" height="484"></a></p> <p>In the current release, validation rules are enforced by raising events through the <a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifydataerrorinfo(VS.95).aspx">INotifyDataErrorInfo</a> interface. </p> <p>When you create a custom validation class or attribute, you must now pass to the Silverlight application the name or names of the members that failed validation (with the <a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validationresult(VS.91).aspx">ValidationResult</a>). </p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFDuoO_YksI/AAAAAAAAAv0/1nSIuf0r4nk/s1600-h/04_SyncValidation_01%20-%20mod%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_SyncValidation_01 - mod" border="0" alt="04_SyncValidation_01 - mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDuulWHYPI/AAAAAAAAAv4/ehT0Qu2vLUY/04_SyncValidation_01%20-%20mod_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDu1BB_L2I/AAAAAAAAAv8/lm-Tky4pDqc/s1600-h/04_SyncValidation_02%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_SyncValidation_02 - mod" border="0" alt="04_SyncValidation_02 - mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDu77raADI/AAAAAAAAAwA/sXQqy7QtdRY/04_SyncValidation_02%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDvAv-dZ4I/AAAAAAAAAwE/8ENPSqu6Pjg/s1600-h/04_SyncValidation_03%5B5%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="04_SyncValidation_03" border="0" alt="04_SyncValidation_03" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TFDvGb-vcuI/AAAAAAAAAwI/fNdHIv33noc/04_SyncValidation_03_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a></p> <p>BTW, you can write custom authorization rules, just like validation. There’s extensible AuthorizationContext. See <a href="http://www.nikhilk.net/RIAServices-Authorization.aspx">CustomAuthorization</a> (ala CustomValidation) attribute written by Nikhil Kothari. </p> <p>Now, you can very easily perform async validation. The RIA Services <em>Entity</em> class has the ValidationErrors collection to manipulate the errors at any time. When you call Add, Remove, or Clear on the collection, it translates that into the necessary INotifyDataErrorInfo events. Simply modifying the collection will result in the UI showing the updated errors. Jeff Handley writes about it <a href="http://jeffhandley.com/archive/2010/05/26/asyncvalidation-again.aspx">here</a>. BTW, his async validation example contains the CustomValidation attribute which is different approach than you see below.</p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDvNSMQjNI/AAAAAAAAAwM/BirxIcW6yIA/s1600-h/03_AsyncValidation_01_B%20-%20mod%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_AsyncValidation_01_B - mod" border="0" alt="03_AsyncValidation_01_B - mod" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDvUyVodqI/AAAAAAAAAwQ/a54K7Tiu424/03_AsyncValidation_01_B%20-%20mod_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TFDvcDXoK1I/AAAAAAAAAwU/eCv-VU3CrCA/s1600-h/03_AsyncValidation_02%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_AsyncValidation_02 - mod" border="0" alt="03_AsyncValidation_02 - mod" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXHqMOMfHok02pCyyGL-DDaCU7Fr_ZCh2-5E-o1EBBBzvXnojBOemcnd141w1__Yv_Lt1gUNuG0jmzWYLq00iZAGrpIG4aaM3Ol4iYtxu-rD3S-lehXdyMf7FRSiyQSbcB0vfcTqxfVBM/?imgmax=800" width="644" height="484"></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOhPNccKkNqAAZhgAQOed4rKr9ZBkKseAFj5ZlLvW19Etswq_UwBymU0Nl-D7tS99c5BBNagUChKUwAqhWOF7bPKjbylJMej0bV0kOl88YtlnT20KY-ckoLTV4N5g01ga4AwUyvJEQuuo/s1600-h/03_AsyncValidation_01_A%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_AsyncValidation_01_A - mod" border="0" alt="03_AsyncValidation_01_A - mod" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDvzoOU1DI/AAAAAAAAAwg/2oxYPe8mPCQ/03_AsyncValidation_01_A%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDv4PQ23bI/AAAAAAAAAwk/CjCGjfys_vo/s1600-h/03_AsyncValidation_03%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="03_AsyncValidation_03" border="0" alt="03_AsyncValidation_03" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDv9S0oC1I/AAAAAAAAAwo/iRj3_COwdsM/03_AsyncValidation_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>Some good links about validation</p> <ul> <li><a href="http://blogs.msdn.com/b/brada/archive/2010/03/23/silverlight-4-ria-services-ready-for-business-validating-data.aspx">Silverlight 4 + RIA Services - Ready for Business: Validating Data</a></li> <li><a href="http://www.nikhilk.net/RIA-Services-Validation.aspx">RIA Services and Validation</a></li> <li><a href="http://jeffhandley.com/archive/2010/05/26/asyncvalidation-again.aspx">Async Validation with RIA Services</a></li></ul> <p><font color="#ff0000">2. ConflictsExamples</font></p> <p>Support for LinqToSql classes is now only available in the <a href="http://go.microsoft.com/fwlink/?LinkId=185121">WCF RIA Services Toolkit</a>. <p>Resolve methods for resolving conflicts in different types of DALs are not supported in this release of WCF RIA Services. <p>I have added second version of my example with concurrency conflicts - with Entity Framework.</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TFDwDOsmCpI/AAAAAAAAAws/4csFc91uyKQ/s1600-h/05_RoundTripping_01%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="05_RoundTripping_01 - mod" border="0" alt="05_RoundTripping_01 - mod" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDwJLh7uCI/AAAAAAAAAw0/UvoOnXQuDnY/05_RoundTripping_01%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>In the current release, the entire original entity is not sent to the server for concurrency checks any more. Now, you can specify which members are sent to the server by marking them with the RoundtripOriginal attribute. In addition, any members that are marked with the ConcurrencyCheck attribute or the TimeStamp attribute are automatically sent to the server.</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TFDwPB5TLQI/AAAAAAAAAw4/cggHYcRyUPg/s1600-h/05_RoundTripping_02%20-%20mod%5B5%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="05_RoundTripping_02 - mod" border="0" alt="05_RoundTripping_02 - mod" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdWYdyLhdsr8cxMUvvOlTnCAWjd8ItaR6bVQrXe_smzE6s94yBBms6gKeQbgmP7nxw_qXVbEhEiqUBpTCDqlpFvmzZ15H-oJDnuHWJkCQbhONJNphMkX9bQLDR6QQFLqJ2roPyCbnoQbo/?imgmax=800" width="644" height="484"></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzeh2NZ0n0o_8fUCBvUfx27MI8D97srEpyC9xWFt8NRb-jF5-MmXt-SCdz013oNzK13O-Pcj0N3_mdLppiPj2_EdK1eOZryIHmvFkFRSCoFK79ELaLk1Zax4il-Ce1gspZ6FOnkwAcq8w/s1600-h/05_RoundTripping_03%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="05_RoundTripping_03 - mod" border="0" alt="05_RoundTripping_03 - mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDwjT_opsI/AAAAAAAAAxI/j7oyop8I2Mk/05_RoundTripping_03%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH4lHEg-vKMwQqkRJDxeGI9iB7J8lntcRGxUetY5UUJmEIg2K3YNDRceOoXXcnD4RX4P0Xd04AxC4A1CFdaviHgNA01Y_tZqLZPAt2DO-DDYRUDGRjoZQWg8dI1DCvSfwM3eKR6wuqzjk/s1600-h/05_RoundTripping_04%20-%20mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="05_RoundTripping_04 - mod" border="0" alt="05_RoundTripping_04 - mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TFDw0jIzbZI/AAAAAAAAAxQ/ts-qrxJWTyA/05_RoundTripping_04%20-%20mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> </p> <p><font color="#ff8000">3. WindowsAuthentication</font></p> <p><font color="#ff8000">4. HttpsExample</font></p> <p><font color="#ff8000">5. CrossDomainExample</font></p> <p><font color="#ff8000">6. RIAServicesLibrariesDemo</font></p> <p><font color="#ff8000">7. MultipleDomainContextsExamples</font></p> <p>All samples from part one you can download here</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_SERVICES^_V1/WCF^_RIA^_Services^_V1.0^_Samples^_Part1.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links</p> <p>Start, doc & samples</p> <ul> <li><a title="http://www.silverlight.net/getstarted/riaservices/" href="http://www.silverlight.net/getstarted/riaservices/">http://www.silverlight.net/getstarted/riaservices/</a> <li><a title="http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx" href="http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx">http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx</a> <li><a title="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3570" href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3570">Breaking Changes from Beta(PDC 09) to RTW</a> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2387">Getting Started - RIA Services HRApp Walkthrough</a> <li><a title="http://code.msdn.microsoft.com/RiaServices" href="http://code.msdn.microsoft.com/RiaServices">WCF RIA Services Code Gallery</a></li></ul> <p>MIX 10</p> <ul> <li><a href="http://live.visitmix.com/MIX10/Sessions/CL08">CL08: Microsoft Silverlight 4 Business Applications</a> <li><a href="http://live.visitmix.com/MIX10/Sessions/CL09">CL09: Developing with WCF RIA Services Quickly and Effectively</a> <li><a href="http://live.visitmix.com/MIX10/Sessions/CL50">CL50: Search Engine Optimization for Microsoft Silverlight</a></li></ul> <p>Channel 9</p> <ul> <li><a title="http://channel9.msdn.com/posts/Psychlist1972/Jeff-Handley-on-WCF-RIA-Services-for-Silverlight-4/" href="http://channel9.msdn.com/posts/Psychlist1972/Jeff-Handley-on-WCF-RIA-Services-for-Silverlight-4/">Jeff Handley on WCF RIA Services for Silverlight 4</a> <li><a href="http://channel9.msdn.com/posts/Psychlist1972/Pete-at-Microsoft-WCF-RIA-Services-Team-Interview/">Pete at Microsoft: WCF RIA Services Team Interview</a></li></ul> <p>Silverlight TV</p> <ul> <li><a href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-TV-18-WCF-RIA-Services-Validation/">Silverlight TV 18: WCF RIA Services Validation</a> <li><a href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-TV-20-Community-Driven-Development-with-WCF-RIA-Services/">Silverlight TV 20: Community Driven Development with WCF RIA Services</a> <li><a href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-TV-26-Exposing-SOAP-OData-and-JSON-Endpoints-for-RIA-Services/">Silverlight TV 26: Exposing SOAP, OData, and JSON Endpoints for RIA Services</a> <li><a href="http://channel9.msdn.com/shows/SilverlightTV/WCF-RIA-Services-v10-Launch-Silverlight-TV-28/">WCF RIA Services v1.0 Launch! (Silverlight TV 28)</a></li></ul> <p>TechEd 10</p> <ul> <li><a href="http://www.msteched.com/2010/NorthAmerica/WEB307">Effective RIA: Tips and Tricks for Building Effective Rich Internet Applications [WEB307]</a></li></ul> <p>Silverlight 4 Hands on Labs</p> <ul> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule2/SL4LOB_02_Event_Manager/">Silverlight Business Apps: Module 2 - WCF RIA Services, Creating and Editing Data, and Data Binding</a> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule2/SL4LOB_02_01_RIAServices/">Silverlight Business Apps: Module 2.1 - WCF RIA Services</a> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule2/SL4LOB_02_02_EditingEntities/">Silverlight Business Apps: Module 2.2 - Using WCF RIA Services to Edit Entities</a> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule2/SL4LOB_02_03_ShowingEvents/">Silverlight Business Apps: Module 2.3 - Showing Master/Details Records Using WCF RIA Services</a></li></ul> <p>Blogs & Sites</p> <ul> <li><a title="http://blogs.msdn.com/b/brada/" href="http://blogs.msdn.com/b/brada/">http://blogs.msdn.com/b/brada/</a> <li><a title="http://www.nikhilk.net/" href="http://www.nikhilk.net/">http://www.nikhilk.net/</a> <li><a title="http://jeffhandley.com/" href="http://jeffhandley.com/">http://jeffhandley.com/</a> <li><a title="http://blogs.msdn.com/b/deepm/" href="http://blogs.msdn.com/b/deepm/">http://blogs.msdn.com/b/deepm/</a> <li><a title="http://blogs.msdn.com/b/kylemc/" href="http://blogs.msdn.com/b/kylemc/">http://blogs.msdn.com/b/kylemc/</a> <li><a title="http://mtaulty.com/" href="http://mtaulty.com/">http://mtaulty.com/</a> <li><a title="http://weblogs.asp.net/fredriknormen/" href="http://weblogs.asp.net/fredriknormen/">http://weblogs.asp.net/fredriknormen/</a> <li><a title="http://www.riaservicesblog.net/Blog/" href="http://www.riaservicesblog.net/Blog/">http://www.riaservicesblog.net/Blog/</a> <li><a title="http://johnpapa.net/" href="http://johnpapa.net/">http://johnpapa.net/</a> <li><a title="http://briannoyes.net/" href="http://briannoyes.net/">http://briannoyes.net/</a> <li><a title="http://www.silverlightshow.net/" href="http://www.silverlightshow.net/">http://www.silverlightshow.net/</a> <li><a title="http://10rem.net/blog" href="http://10rem.net/blog">http://10rem.net/blog</a> <li><a title="http://blogs.msdn.com/b/wpfsldesigner/" href="http://blogs.msdn.com/b/wpfsldesigner/">http://blogs.msdn.com/b/wpfsldesigner/</a> <li><a title="http://weblogs.asp.net/scottgu/" href="http://weblogs.asp.net/scottgu/">http://weblogs.asp.net/scottgu/</a> <li><a title="http://tomasz.janczuk.org/" href="http://tomasz.janczuk.org/">http://tomasz.janczuk.org/</a> <li><a title="http://timheuer.com/blog/" href="http://timheuer.com/blog/">http://timheuer.com/blog/</a> <li><a title="http://blogs.msdn.com/b/silverlightws/" href="http://blogs.msdn.com/b/silverlightws/">http://blogs.msdn.com/b/silverlightws/</a> <li><a title="http://blogs.msdn.com/b/scmorris/" href="http://blogs.msdn.com/b/scmorris/">http://blogs.msdn.com/b/scmorris/</a></li></ul> <p>Cheers and enjoy!! </p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-40486590952217989752010-07-01T23:55:00.000+02:002010-07-02T03:41:29.197+02:00Expression Blend 4: Improvements to Photoshop file import<p>In Expression Blend 4 some layer effects (<em>Drop Shadow</em>, <em>Inner Shadow</em>, <em>Color Overlay</em>, <em>Outer Glow</em>, <em>Inner Glow</em>, <em>Gradient Overlay</em>, <em>Bevel & Emboss</em>, <em>Satin</em>) can now be merged with their layers. </p> <p>If a layer effect has been applied to a layer, the <em>Layer effect</em> icon appears next to the layer in the <em>Import Adobe Photoshop File</em> dialog box. A layer effect can be imported either by selecting the <em>Flattened bitmap</em> import option or by merging the layer with other layers.</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TC1DW6pC_jI/AAAAAAAAAuI/K3o6XumM5WA/s1600-h/01_PhotoshopImport_013.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_PhotoshopImport_01" border="0" alt="01_PhotoshopImport_01" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TC1Dfm84xpI/AAAAAAAAAuM/aMHTHz4uzh8/01_PhotoshopImport_01_thumb1.png?imgmax=800" width="644" height="484"></a> <a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TC1Dn1nEMXI/AAAAAAAAAuQ/qJFn6tjnSig/s1600-h/01_PhotoshopImport_023.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_PhotoshopImport_02" border="0" alt="01_PhotoshopImport_02" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TC1Dx40rx1I/AAAAAAAAAuU/bPPZd1dBWMU/01_PhotoshopImport_02_thumb1.png?imgmax=800" width="644" height="484"></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/Blend4/Blend4^_PhotoshopImport.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="left">Adam Kinney wrote a great <a href="http://adamkinney.com/blog/2010/06/30/import-art-from-photoshop-and-make-into-silverlight-controls/">post</a> about importing art from Photoshop and making into Silverlight controls. You should read it! </p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-75460853008061326412010-06-20T23:20:00.000+02:002010-06-21T03:26:50.351+02:00Expression Blend 4: Fluid UI - Enhanced FluidMoveBehavior & Layout States<p>In Blend 4, Fluid Layout has many new tricks. You can now define layout animations between a master list and a detail view and animate things that move between lists. You can also animate the process of items being added to and removed from a ListBox.</p> <p>An exciting enhancement has been made to the <em>FluidMoveBehavior</em>. </p> <p align="center"><strong>FluidMoveBehaviorMasterDetail</strong><br><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TB6-lvzyhyI/AAAAAAAAAq0/R8ffvmwwGqQ/s1600-h/01_FluidMoveBehavior_MasterDetails_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_FluidMoveBehavior_MasterDetails_01" border="0" alt="01_FluidMoveBehavior_MasterDetails_01" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TB6-tXETNUI/AAAAAAAAAq4/w7YagCBskBI/01_FluidMoveBehavior_MasterDetails_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TB6-0v8d2cI/AAAAAAAAAq8/6e_ET0t8P5E/s1600-h/01_FluidMoveBehavior_MasterDetails_02%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_FluidMoveBehavior_MasterDetails_02" border="0" alt="01_FluidMoveBehavior_MasterDetails_02" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TB6-9PYTeHI/AAAAAAAAArA/M7tE8bAxvuQ/01_FluidMoveBehavior_MasterDetails_02_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TB6_HRzj8lI/AAAAAAAAArM/BaSuGDmXGAc/s1600-h/01_FluidMoveBehavior_MasterDetails_03%20-%20Mod%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="01_FluidMoveBehavior_MasterDetails_03 - Mod" border="0" alt="01_FluidMoveBehavior_MasterDetails_03 - Mod" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TB6_SuKptjI/AAAAAAAAArQ/1GWlgAGwDy8/01_FluidMoveBehavior_MasterDetails_03%20-%20Mod_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>By using <em>FluidMoveBehavior</em> together with <em>FluidMoveSetTagBehavior</em>, you can animate a transition from a specified starting point, even if that initial location is specified only by a reference to the data that is displayed in your application and may exist in a different scope. Data tagged by <em>FluidMoveSetTagBehavior </em>is available for use with <em>FluidMoveBehavior</em> by using a hidden data store.</p> <p><em>FluidMoveBehavior</em> is optimized for two main scenarios: animating from a master list to a detail view and animating list items from one list to another.</p> <p align="center"><strong>FluidMoveBehaviorListToList</strong><br><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TB6_Xp9Zd8I/AAAAAAAAArU/RqMD8JlNDmc/s1600-h/02_FluidMoveBehavior_ListToList_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_FluidMoveBehavior_ListToList_01" border="0" alt="02_FluidMoveBehavior_ListToList_01" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TB6_dW_kLzI/AAAAAAAAArY/4GWZ8-3gQnU/02_FluidMoveBehavior_ListToList_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TB6_lPPavCI/AAAAAAAAArc/aY8UnADH9gU/s1600-h/02_FluidMoveBehavior_ListToList_03%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_FluidMoveBehavior_ListToList_03" border="0" alt="02_FluidMoveBehavior_ListToList_03" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIg_h9R7vblDcE-QrIYA7SSl9nV0uf6IVa7NrPeW1BquFXOOemRgpOgeC32RIx6lsCBhuy_JajqMpzXAwceJdxi76Eip-FwWsqYZ3i5BSZ2JvgX-tKa1o9_bWrYizpx15tXvgAXG0z4s/?imgmax=800" width="644" height="484"></a></p> <p>In Silverlight 4, a special VisualStateGroup called <em>LayoutStates</em> has been added specifically for animating adding items to and removing items from a <em>ListBox </em>(or custom <em>ItemsControl</em>). You may have a look at my previous <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_11.html">post</a> (updated sample you can get from <a href="http://cid-dbcaf7311f080ba2.office.live.com/self.aspx/Publiczny/SL4/RTW/SL4^_RTW^_Samples^_Part1.zip">here</a>). <p>If you also apply a <em>FluidMoveBehavior</em> behavior to the items panel of the <em>ListBox</em>, existing items will smoothly make room for entering new items. <p align="center"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="02_FluidMoveBehavior_ListToList_02" border="0" alt="02_FluidMoveBehavior_ListToList_02" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TB6_2EJZOCI/AAAAAAAAArk/6BTt5NbJEn4/02_FluidMoveBehavior_ListToList_02_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/Blend4/Blend4^_DynamicLayout.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links</p> <ul> <li><a href="http://live.visitmix.com/MIX10/Sessions/CL55">MIX 10: Dynamic Layout and Transitions for Microsoft Silverlight 4 with Microsoft Expression Blend</a> <li><a href="http://channel9.msdn.com/shows/SilverlightTV/Creating-Rich-Interactions-Using-Blend-4-Transition-Effects-Fluid-Layout-and-Layout-States-Silverlig/">Silverlight TV 32: Creating Rich Interactions Using Blend 4: Transition Effects, Fluid Layout, and Layout States</a> <li><a href="http://www.microsoft.com/design/toolbox/tutorials/fluidui/">.toolbox: Introduction to Fluid UI</a> <li><a href="http://blogs.msdn.com/b/expression/archive/2010/03/16/dynamic-layout-and-transitions-in-expression-blend-4.aspx">Dynamic Layout and Transitions in Expression Blend 4</a></li></ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-22177329670544790612010-06-10T08:14:00.000+02:002010-06-10T08:20:38.757+02:00My offline extension of DeploymentCatalog<p>DeploymentCatalog works well in many scenarios. However, when you start Silverlight out of browser application in offline, cached .xap is not found. So I have extended standard DeploymentCatalog to support offline scenario.</p> <p>How my offline extension works? </p> <p>In online out of browser application downloads (or gets from cache) .xap file and saves it in an additional place - MyDocuments folder. I use trusted mode, so saving works without user interaction and space limit. </p> <p>When you start out of browser application in offline, .xap file is loaded from MyDocuments folder. </p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TBCCzgtHfBI/AAAAAAAAApI/aPxV7s4hbS0/s1600-h/MEF_Offline_Xap_2%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_Offline_Xap_2" border="0" alt="MEF_Offline_Xap_2" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TBCC7LDA7QI/AAAAAAAAApM/VxEzf2UfO6E/MEF_Offline_Xap_2_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>I have created DeploymentCatalogWithOffline based on modified DeploymentCatalog sources. I have changed only implementation of HandleOpenReadCompleted method (see the screenshot below).</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TBCDBpY4VOI/AAAAAAAAApQ/4ot4cMoRUdc/s1600-h/MEF_Offline_Xap_1%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_Offline_Xap_1" border="0" alt="MEF_Offline_Xap_1" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TBCDIwygkZI/AAAAAAAAApY/3AUK3WtZmlk/MEF_Offline_Xap_1_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>You can download complete solution here.</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL4/RTW/DeploymentCatalogWithOffline.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com1tag:blogger.com,1999:blog-7304085971491703521.post-79460107832814188922010-06-08T22:18:00.000+02:002010-06-10T04:16:00.148+02:00Silverlight 4 RTW Samples - part II<p>I wrote <a href="http://martinkruszynski.blogspot.com/2010/05/silverlight-4-rtw-samples-part-i.html">a post with part I of my Silverlight 4 RTW practical summary</a> a few days ago. Today I’ll continue this topic.</p> <p>I sign changes in my samples: <ul> <li><font color="#ff8000">API changes or/and new features</font> <li><font color="#ff0000">new sample showing new features</font></li></ul> <p>Let’s continue …</p> <p>9. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta-out.html">Out of browser applications - sandboxed</a> (<font color="#ff8000">SandboxedOutOfBrowser</font>, <a href="http://go.microsoft.com/?linkid=9728630">MultiTouchPuzzle</a>)</p> <p>Now you can <a href="http://channel9.msdn.com/learn/courses/Silverlight4/NewFeatures/OutOfBrowser/Exercise-2-Signing-a-XAP-Assembly-and-Performing-Silent-Installations/">silent install out of browser application</a> without … browser. You can also <a href="http://msdn.microsoft.com/en-us/library/dd550721(VS.95).aspx#debugging_outofbrowser_applications">launch application without installing</a>. </p> <p>10. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta-out_27.html">Out of browser applications - trusted</a> (<font color="#ff8000">TrustedOutBrowser</font>)</p> <p>Upon installation of an elevated trust application end user’s will be presented with dialogs shown below. <a href="http://channel9.msdn.com/learn/courses/Silverlight4/NewFeatures/OutOfBrowser/Exercise-2-Signing-a-XAP-Assembly-and-Performing-Silent-Installations/">XAP signing</a> reassures end users of the authenticity of an application’s publisher and that the code has not been tampered with.</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBIViVNhlI/AAAAAAAAAnk/8KDVmlLtspc/s1600-h/Trusted_OOB_WithoutSigning%5B5%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_OOB_WithoutSigning" border="0" alt="Trusted_OOB_WithoutSigning" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBIbFPDG1I/AAAAAAAAAno/Tn9cA7sZeuY/Trusted_OOB_WithoutSigning_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TBBIf-l2ClI/AAAAAAAAAns/7PV5n0glFwA/s1600-h/Trusted_OOB_WithSigning%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_OOB_WithSigning" border="0" alt="Trusted_OOB_WithSigning" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBIl6AwtkI/AAAAAAAAAnw/59VEeMoUGUI/Trusted_OOB_WithSigning_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>You should experiment with <a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule8/SL4LOB_08_Advanced_OOB/Exercise-2-Custom-Window-Chrome/">custom window chrome</a>! Your application may look more distinctive!</p> <p>Silverlight 4 adds the ability to discover when an OOB application’s window is being closed. The <a href="http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule8/SL4LOB_08_Advanced_OOB/Exercise-3-Window-Closing-Event/">Closing event</a> offers the opportunity to cancel this operation in trusted applications.</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBIvjRx3xI/AAAAAAAAAn0/eGCrUO1O69U/s1600-h/Trusted_OOB_CustomChrome%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Trusted_OOB_CustomChrome" border="0" alt="Trusted_OOB_CustomChrome" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgafjQAB95jdZdlguuZzsm6GqwvEkNwWkJ6OsEauGPnqpvhwB92eZfgwAOdKwH9GSDMlxJpS7MUktLgRXERAlQSyF0JGhzvTLf3eUdTDcLbo60V3NSoa9y_YstMp_nlYGFPWbnEBMN2xWs/?imgmax=800" width="644" height="484"></a></p> <p>11. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_27.html">Implicit styles</a> (ImplicitStylesDemo)</p> <p>12. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_27.html">CompositeTransform</a> (TransformDemo)</p> <p>13. <a href="http://martinkruszynski.blogspot.com/2010/01/new-features-in-silverlight-4-beta.html">MEF</a> (<font color="#ff8000">MEF</font>, <font color="#ff8000">MEF2</font>, <a href="http://mef.codeplex.com/releases/view/40606#DownloadId=106589">HousePlanner</a>, <a href="http://mef.codeplex.com/releases/view/40606#DownloadId=106589">ExtensibleGrid</a>, <a href="http://brad_abrams.members.winisp.net/Projects/Silverlight3RTM/SilverlightMEFNavigation.zip">SilverlightMEFNavigation</a>)</p> <p>MEF in final Silverlight 4 has <a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/02/17/new-mef-drop-preview-9-on-codeplex.aspx">some changes</a> from beta. For example, it contains new DeploymentCatalog. </p> <p>14. <a href="http://martinkruszynski.blogspot.com/2010/01/new-features-in-silverlight-4-beta_16.html">Communication - multicast, authentication & WCF</a> (<a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightsdk&DownloadId=8369">MulticastChat</a>, ClientHttpStackAuth, <font color="#ff8000">WcfTcpBinding</font>, <font color="#ff8000">WcfDuplexTcpBinding</font>, <a href="http://blogs.msdn.com/b/silverlightws/archive/2010/03/17/two-samples-from-today-s-mix-2010-talk.aspx">VideoChat</a>)</p> <p>When using a service configured with NetTcp binding, Silverlight does not honor TCP policy served by the server at port 943. This is one of <a href="http://blogs.msdn.com/b/silverlightws/archive/2010/04/04/some-known-wcf-issues-in-silverlight-4.aspx">some known WCF issues in Silverlight 4</a>.</p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TBBJCeYTKNI/AAAAAAAAAoE/jNIiEge-LMk/s1600-h/WCF_Video_Chat%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WCF_Video_Chat" border="0" alt="WCF_Video_Chat" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TBBJK2W1o0I/AAAAAAAAAoI/v4NR49gNIz4/WCF_Video_Chat_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>15. <a href="http://martinkruszynski.blogspot.com/2010/01/new-features-in-silverlight-4-beta-wcf.html">Communication - WCF Data Services</a> (<font color="#ff8000">WcfDataServicesDemo</font>, <font color="#ff0000">BinaryDataStreamingDemo</font>)</p> <p>I have added demonstration of <a href="http://msdn.microsoft.com/en-us/library/ee473424.aspx">server-driven paging</a> and <a href="http://msdn.microsoft.com/en-us/library/ee358709.aspx">partial entity sets</a> to WcfDataServicesDemo example. </p> <p>You can work more efficiently by using Visual Studio 2010 Data Sources window ! </p> <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WCFDataServices_DataSourcesWindow" border="0" alt="WCFDataServices_DataSourcesWindow" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TBBJRRRrbDI/AAAAAAAAAoM/fXZWlkl5NXk/WCFDataServices_DataSourcesWindow_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></p> <p>OData protocol defines a mechanism for accessing binary data separate from an entity to which it belongs. OData service can expose large binary data as a media resource that belongs to a media link entry. The WCF Data Services client for Silverlight can <a href="http://msdn.microsoft.com/en-us/library/ff602281(VS.95).aspx">consume a media resource from an OData service as a binary stream</a>.</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/TBBJbeYZCiI/AAAAAAAAAoQ/nZH9-lhzrtE/s1600-h/WCFDataServices_BinaryStream1%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WCFDataServices_BinaryStream1" border="0" alt="WCFDataServices_BinaryStream1" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBJm_LQ-UI/AAAAAAAAAoU/vkpw99TvAKU/WCFDataServices_BinaryStream1_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBJtJknVNI/AAAAAAAAAoY/Afx2LTI4ohU/s1600-h/WCFDataServices_BinaryStream2%5B6%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WCFDataServices_BinaryStream2" border="0" alt="WCFDataServices_BinaryStream2" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TBBJ0eEIoJI/AAAAAAAAAoc/qr8AQ4-zWWk/WCFDataServices_BinaryStream2_thumb%5B2%5D.png?imgmax=800" width="644" height="484"></a></p> <p>16. XML - XPath (<font color="#ff0000">XmlDemo</font>)</p> <p>Silverlight 4 RC/RTW introduces XPath support including <a href="http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator(v=VS.96).aspx">XPathNavigator</a> and <a href="http://msdn.microsoft.com/en-us/library/system.xml.xpath.extensions_members(v=VS.96).aspx">LINQ to XML extension methods</a> for evaluating XPath expressions on your XElement objects!</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBJ6F0bgDI/AAAAAAAAAog/M620X3f-APw/s1600-h/XmlXPath%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="XmlXPath" border="0" alt="XmlXPath" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0tA9KIK6h00RwUjID4eqaLjNimC3XlMEqUntRCEJc7PiF8GKXEqPQh0SJOuF6mZuFxqSLHPUIjebKtVVdb_jYVBBgWRNRqkKBUXEOJr-pbBagE84mvorz77hyphenhyphen40JUpzqF4qUbVoK2Y2M/?imgmax=800" width="644" height="484"></a></p> <p>17. <a href="http://martinkruszynski.blogspot.com/2010/01/new-features-in-silverlight-4-beta-c-4.html">New C#4 & platform features</a> (CSharp4, ModifyHTMLbyNET)</p> <p>18. <a href="http://martinkruszynski.blogspot.com/2010/01/new-features-in-silverlight-4-beta_24.html">ViewBox</a> (ViewBoxDemo)</p> <p>19. Toolkit - ContextMenu & Theming (<font color="#ff0000">ThemesDemo</font>)</p> <p>Silverlight 4 Toolkit April '10 introduces <a href="http://silverlight.codeplex.com/wikipage?title=Silverlight%20Toolkit%20April%202010%20change%20list&referringTitle=Home">some new features and changes</a>. </p> <p>ThemesDemo example shows new SystemColors theme, using themes at application and page level, custom theme, changing themes at run-time with ContextMenu control. </p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioy1O9l4bEQr23kGyR_EPbqqiujGbawwINwwNNzWBlAwjIlA9IIkfC6e6g5LzbAuNn5RmYGsD0Ujzh_AOkRrphyU8_RR-E5uYyW60f-vtsv8wTGlanL4ecgNZk0QuOYAK6BEuvaD4Na74/s1600-h/Toolkit_Themes_App%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Toolkit_Themes_App" border="0" alt="Toolkit_Themes_App" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TBBKObRoJyI/AAAAAAAAAos/k35EBeEJ9v0/Toolkit_Themes_App_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBKWWFyTtI/AAAAAAAAAow/xaQRksGinH4/s1600-h/Toolkit_Themes_Menu_Changing%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Toolkit_Themes_Menu_Changing" border="0" alt="Toolkit_Themes_Menu_Changing" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TBBKfpJgvXI/AAAAAAAAAo0/5JkAQyKqJV0/Toolkit_Themes_Menu_Changing_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBKlaOO17I/AAAAAAAAAo4/mjuE3BBMmLA/s1600-h/Toolkit_Themes_Menu_Xaml%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Toolkit_Themes_Menu_Xaml" border="0" alt="Toolkit_Themes_Menu_Xaml" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TBBKsDv79OI/AAAAAAAAAo8/l01JYAo4WO0/Toolkit_Themes_Menu_Xaml_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TBBKw0E2M5I/AAAAAAAAApA/JtZTRx3ENc8/s1600-h/Toolkit_Themes_Menu_Code%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Toolkit_Themes_Menu_Code" border="0" alt="Toolkit_Themes_Menu_Code" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TBBK3ROlsVI/AAAAAAAAApE/ZB8WBI3zoa4/Toolkit_Themes_Menu_Code_thumb%5B1%5D.png?imgmax=800" width="644" height="484"></a></p> <p>All samples from part two you can download here</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL4/RTW/SL4^_RTW^_Samples^_Part2.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="center"> </p> <p align="left">Silverlight 4 Tools for Visual Studio 2010 also contains some interesting features. See <a href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-4-Tools-for-Visual-Studio-2010-Launch-New-Designer-Capabilities-Silverlight-TV-27/">great video</a> on Silverlight TV! </p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-51332702438106939452010-05-28T07:07:00.000+02:002010-06-09T09:46:39.211+02:00Silverlight 4 RTW Samples - part I<p>I have refreshed all my Silverlight 4 Beta samples to work with Silverlight 4 RTW. I have also added demos of almost all new Silverlight 4 RC/RTW features. In addition, I have included some interesting samples I had found on the Web. In the near future I’ll write two posts with my summary of Silverlight 4 RTW features. Today I’ll present first part of it . </p> <p>I sign changes in my samples: <ul> <li><font color="#ff8000">API changes or/and new features</font> <li><font color="#ff0000">new sample showing new features</font> </li></ul> <p>Let’s start ….</p> <p>1. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta.html">Webcam & microphone</a> (<font color="#ff8000">WebcamMicSample</font>, <a href="http://facelight.codeplex.com/">FaceLight</a>)</p> <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TA9FQ1bGHxI/AAAAAAAAAmc/70AUifN28SY/s1600-h/mk-monkey%20-%20cl%5B5%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="mk-monkey - cl" border="0" alt="mk-monkey - cl" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TA9Fab2bDlI/AAAAAAAAAmg/7MRqsbBZEsA/mk-monkey%20-%20cl_thumb%5B3%5D.png?imgmax=800" width="644" height="484"></a></p> <p>2. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta.html">Printing</a> (<font color="#ff8000">PrintingSample</font>) </p> <p>3. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_09.html">Dragging files & right click</a> (DropFilesRightClickSample)</p> <p>4. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_10.html">Mouse wheel, clipboard & DataGrid</a> (ClipboardDataGrid)</p> <p>5. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_11.html">Layout states - ListBoxItem</a> (<font color="#ff8000">ListBoxLayoutStatesExample</font>)</p> <p>6. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_16.html">Navigation extensibility</a> (NavigationExtensibility)</p> <p>7. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_16.html">Data binding</a> (BindingValidation 1, BindingValidation 2, <font color="#ff0000">DesignBinding</font>, <font color="#ff0000">MasterDetailsDemo</font>)</p> <p>You should read about Silverlight <a href="http://msdn.microsoft.com/en-us/library/ff602277(VS.95).aspx">design-time attributes</a> and <a href="http://msdn.microsoft.com/en-us/library/ff602279(VS.95).aspx">sample data</a> in Visual Studio 2010. Now you can specify that the design instance is created from your type or a designer-generated substitute type.</p> <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_Design_Designer" border="0" alt="Binding_Design_Designer" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TA9Ff8yk_xI/AAAAAAAAAmk/SaJU11qWKG4/Binding_Design_Designer_thumb1.png?imgmax=800" width="644" height="484"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK6Z0GafmXB-rRH769hZKrziaABQ_Ujmqt5YlH2aOE3Gdk2TAgs-0kXppufHcYqRajJ44GDmy0fdXJnm3gJkKWBGVj4SPKtlQkkRiq0ez1aIPIHcv9lKtZvE_cZHy1VrKdUMNW4cp0dC8/s1600-h/Binding_Design_Data_15.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_Design_Xaml1" border="0" alt="Binding_Design_Xaml1" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TA9FsbzcRNI/AAAAAAAAAms/Omj7PiQ5iJ0/Binding_Design_Xaml17.png?imgmax=800" width="644" height="484"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_Design_Data_1" border="0" alt="Binding_Design_Data_1" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TA9FxqZo-QI/AAAAAAAAAmw/dRILF5Fb_BI/Binding_Design_Data_1_thumb3.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TA9F2XYhvmI/AAAAAAAAAm0/kZt4Ah9Q--k/s1600-h/Binding_Design_Data_23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_Design_Data_2" border="0" alt="Binding_Design_Data_2" src="http://lh6.ggpht.com/_D_LHhy5fi8o/TA9F8CiCfAI/AAAAAAAAAm4/yArhW7boKMY/Binding_Design_Data_2_thumb1.png?imgmax=800" width="644" height="484"></a></p> <p>You should also read about <a href="http://msdn.microsoft.com/en-us/library/cc645060(VS.95).aspx">master-details view with CollectionViewSource</a>.</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TA9GBR2bF3I/AAAAAAAAAm8/EdnamAWpvD4/s1600-h/Binding_MasterDetails_Designer5.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_MasterDetails_Designer" border="0" alt="Binding_MasterDetails_Designer" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKi88MVUhu7r69IsVDPi-MPerxs634AufX8ZsB_i59B_uQGyA9WIQqj7ji6Q872DfVkjNFGjrNMRRee5mcOVIJFiI9PjAD1lWi6CnbV05n-tOjaiQwzuoclI2hg0b1rSRuQjC3pi86huU/?imgmax=800" width="644" height="484"></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Pf5p8nrFo-sE7re1IU5kjnDTwxsPNZnxKnj992RsfwkvQuZy5MLJDRA1kR4Yta860D6IW5dOxBIc3_PQoj8NUwLsH5ydQFaGPcRiqCbiovCLYRhNiHJzXeRzO1EmwYbDcaZ-KMRTV6w/s1600-h/Binding_MasterDetails_Xaml3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Binding_MasterDetails_Xaml" border="0" alt="Binding_MasterDetails_Xaml" src="http://lh3.ggpht.com/_D_LHhy5fi8o/TA9GVS3yhbI/AAAAAAAAAnI/lS_xVJT6X_0/Binding_MasterDetails_Xaml_thumb1.png?imgmax=800" width="644" height="484"></a> </p> <p></p> <p>8. <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta_18.html">RichTextBox, RTL flow direction & text trimming</a> (<font color="#ff8000">RichTextAreaSample</font>, <a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightsdk&DownloadId=9430">SilverlightTextEditor</a>, TextTrimming)</p> <p>Now you can <a href="http://msdn.microsoft.com/en-us/library/ee681613(VS.95).aspx#selecting_text_at_run_time">traverse</a> the content in a <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(VS.95).aspx">RichTextBox</a> by using the <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.textpointer(VS.95).aspx">TextPointer</a> class. In my example, I select first word at run-time and change it’s foreground to red.</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/TA9Gap8uh4I/AAAAAAAAAnM/6ZWlTndDW84/s1600-h/Text_Pointer_Selection5.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Text_Pointer_Selection" border="0" alt="Text_Pointer_Selection" src="http://lh4.ggpht.com/_D_LHhy5fi8o/TA9Gg7BxNlI/AAAAAAAAAnQ/rcEB3GeTk0Q/Text_Pointer_Selection_thumb3.png?imgmax=800" width="644" height="484"></a></p>You can also get and set a XAML representation of the content in a <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(VS.95).aspx">RichTextBox</a> by using the <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.xaml(VS.95).aspx">Xaml</a> property. Unfortunately, the XAML string returned by the <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.xaml(VS.95).aspx">Xaml</a> property will not include any <a href="http://msdn.microsoft.com/en-us/library/system.windows.uielement(VS.95).aspx">UIElement</a> objects that are present in the content. The <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.inlineuicontainer(VS.95).aspx">InlineUIContainer</a> objects will be converted to empty <a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.run(VS.95).aspx">Run</a> objects -:( <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/TA9GmLHZsFI/AAAAAAAAAnU/DkKoEHtvcHw/s1600-h/Text_Xaml3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Text_Xaml" border="0" alt="Text_Xaml" src="http://lh5.ggpht.com/_D_LHhy5fi8o/TA9GsRqA47I/AAAAAAAAAnY/59LqZIuxf2A/Text_Xaml_thumb1.png?imgmax=800" width="644" height="484"></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/TA9GwoKETHI/AAAAAAAAAnc/q2PcFcN4bJ4/s1600-h/Text_Xaml_From3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Text_Xaml_From" border="0" alt="Text_Xaml_From" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEishcXQn5F7yAIUf0QnTEpteRF6P1kkPawu6bJ3i47tqGu7m-MQi4zzLNMkqyXE6TdPp-I3jA9BLy8QPeD1Xv0ddYlR5TgMkneBAS6AW5V4H2f8LXAEDXvh9cUskZEgMHAuokVE3aTqwgY/?imgmax=800" width="644" height="484"></a></p> <p>All samples from part one you can download here </p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.office.live.com/embedicon.aspx/Publiczny/SL4/RTW/SL4^_RTW^_Samples^_Part1.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-23378597833993498052010-03-02T10:49:00.000+01:002010-03-02T12:02:38.311+01:00WCF RIA Services, Part V - WCF<p>The current implementation of RIA Services is based on WCF. Now you can customize or extend domain services using WCF infrastructure. </p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/WcfDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="left">Useful links:</p> <ul> <li><a title="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3587" href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3587">http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3587</a></li> <li><a title="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3576" href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3576">http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3576</a></li> <li><a title="http://blogs.msdn.com/saurabh/archive/2009/11/23/understanding-the-wcf-in-wcf-ria-services.aspx" href="http://blogs.msdn.com/saurabh/archive/2009/11/23/understanding-the-wcf-in-wcf-ria-services.aspx">http://blogs.msdn.com/saurabh/archive/2009/11/23/understanding-the-wcf-in-wcf-ria-services.aspx</a></li> <li><a title="http://blogs.msdn.com/brada/archive/2009/11/22/ria-services-a-domainservice-is-a-wcf-service-add-service-reference.aspx" href="http://blogs.msdn.com/brada/archive/2009/11/22/ria-services-a-domainservice-is-a-wcf-service-add-service-reference.aspx">http://blogs.msdn.com/brada/archive/2009/11/22/ria-services-a-domainservice-is-a-wcf-service-add-service-reference.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-65857608732604899002010-02-28T22:23:00.000+01:002010-02-28T22:55:59.848+01:00WCF RIA Services - Part IV, Presentation Models<p>Presentation model aggregates data from multiple entities in the data access layer. It is useful when you do not want to directly expose the entities in your data access layer to the client.</p> <p>You should read these links:</p> <ul> <li><a title="http://msdn.microsoft.com/en-us/library/ee707347(VS.91).aspx" href="http://msdn.microsoft.com/en-us/library/ee707347(VS.91).aspx">http://msdn.microsoft.com/en-us/library/ee707347(VS.91).aspx</a></li> <li><a title="http://blogs.msdn.com/deepm/archive/2009/11/20/wcf-ria-services-presentation-model-explained.aspx" href="http://blogs.msdn.com/deepm/archive/2009/11/20/wcf-ria-services-presentation-model-explained.aspx">http://blogs.msdn.com/deepm/archive/2009/11/20/wcf-ria-services-presentation-model-explained.aspx</a></li> </ul> <p>I’ve implemented sample described <a href="http://msdn.microsoft.com/en-us/library/ee707347(VS.91).aspx">here</a>.</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/PresentationModelDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-35710851821090208302010-02-24T23:51:00.000+01:002010-02-26T08:45:59.491+01:00WCF RIA Services - Part III, Inheritance<p>WCF RIA Services enables you to work with entities that are part of an inheritance hierarchy. This feature is supported only with Visual Studio 2010 and Silverlight 4.</p> <p>Useful links:</p> <ul> <li><a title="http://msdn.microsoft.com/en-us/library/ee707366(VS.91).aspx" href="http://msdn.microsoft.com/en-us/library/ee707366(VS.91).aspx">http://msdn.microsoft.com/en-us/library/ee707366(VS.91).aspx</a> </li> <li><a title="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3584" href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3584">http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3584</a> </li> <li><a title="http://systemmetaphor.blogspot.com/2010/01/wcf-ria-services-using-inheritance.html" href="http://systemmetaphor.blogspot.com/2010/01/wcf-ria-services-using-inheritance.html">http://systemmetaphor.blogspot.com/2010/01/wcf-ria-services-using-inheritance.html</a> </li> <li><a title="http://systemmetaphor.blogspot.com/2010/02/wcf-ria-services-advanced-topics-fully.html" href="http://systemmetaphor.blogspot.com/2010/02/wcf-ria-services-advanced-topics-fully.html">http://systemmetaphor.blogspot.com/2010/02/wcf-ria-services-advanced-topics-fully.html</a> </li> </ul> <p>My simple example (with entities from <a href="http://mosesofegypt.net/post/Inheritance-and-Associations-with-Entity-Framework-Part-1.aspx">here</a>):</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S4d5rqHBKjI/AAAAAAAAAmU/FPldZndeu2k/s1600-h/Inheritance2%5B15%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Inheritance2" border="0" alt="Inheritance2" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S4d5u5RbOEI/AAAAAAAAAmY/L4sJCqby8SU/Inheritance2_thumb%5B8%5D.png?imgmax=800" width="640" height="448" /></a> </p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/InheritanceExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com1tag:blogger.com,1999:blog-7304085971491703521.post-79909747368858393452010-02-22T20:37:00.000+01:002010-02-23T00:56:57.996+01:00WCF RIA Services - Part II, Compositional Hierarchies<p>Compositional hierarchy is very useful for people who need real parent/child hierarchies. </p> <p>You can read about this new feature here:</p> <ul> <li><a title="http://msdn.microsoft.com/en-us/library/ee707346(VS.91).aspx" href="http://msdn.microsoft.com/en-us/library/ee707346(VS.91).aspx">http://msdn.microsoft.com/en-us/library/ee707346(VS.91).aspx</a></li> <li><a title="http://blogs.msdn.com/digital_ruminations/archive/2009/11/18/composition-support-in-ria-services.aspx" href="http://blogs.msdn.com/digital_ruminations/archive/2009/11/18/composition-support-in-ria-services.aspx">http://blogs.msdn.com/digital_ruminations/archive/2009/11/18/composition-support-in-ria-services.aspx</a></li> <li><a title="http://www.riaservicesblog.net/Blog/post/A-guide-to-the-new-features-of-WCF-RIA-Services.aspx" href="http://www.riaservicesblog.net/Blog/post/A-guide-to-the-new-features-of-WCF-RIA-Services.aspx">http://www.riaservicesblog.net/Blog/post/A-guide-to-the-new-features-of-WCF-RIA-Services.aspx</a></li> </ul> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/CompositionExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-85882016406768980922010-02-18T23:35:00.000+01:002010-02-19T09:21:17.070+01:00WCF RIA Services - Part I, changes in features known from previous releases & design tools<p>I wrote <a href="http://martinkruszynski.blogspot.com/2009/10/my-longest-post-net-ria-services-july.html">a very long post about .NET Ria Services with 20 samples</a> four months ago. In this series of posts I’ll describe WCF RIA Services presented at PDC. In this post, I’ll present 9 updated samples and VS 2010 design tools. </p> <p align="center"><strong>Business Application Demo</strong></p> <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S35HQjyAlEI/AAAAAAAAAkM/yx8lKWh_1HI/s1600-h/App29.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="App2" border="0" alt="App2" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S35HWHMWyQI/AAAAAAAAAkQ/NIH2nhLNszI/App2_thumb5.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S35HbG41yUI/AAAAAAAAAkU/64oaU9-DqV4/s1600-h/App37.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="App3" border="0" alt="App3" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S35Hgt_pUrI/AAAAAAAAAkY/WCdaLUmaojE/App3_thumb3.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S35HmG0zNCI/AAAAAAAAAkc/LZxU_7lneWM/s1600-h/App43.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="App4" border="0" alt="App4" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S35Hr_HYrvI/AAAAAAAAAkg/V6ewoT-xNB8/App4_thumb1.png?imgmax=800" width="644" height="484" /></a></p> <p align="center"><font color="#ff8000">Silverlight Business Applications: Design tools</font>  </p> <p align="center"><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S35HxjevwcI/AAAAAAAAAkk/g7KGfTq6RHU/s1600-h/SelectQuery27.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SelectQuery2" border="0" alt="SelectQuery2" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S35H4hVIr2I/AAAAAAAAAko/2jg70dKTDto/SelectQuery2_thumb3.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Data Sources Window: Query selection</font></p> <p align="center"><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S35H-QcY9zI/AAAAAAAAAks/z2afV3ND9Lc/s1600-h/ConfigFields23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ConfigFields2" border="0" alt="ConfigFields2" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S35IFAEykbI/AAAAAAAAAkw/Wk1WUoEt-H4/ConfigFields2_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Data Sources Window: Control selection</font></p> <p align="center"><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S35ILLMdy0I/AAAAAAAAAk0/O038kEHHdAg/s1600-h/Main3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Main" border="0" alt="Main" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S35IR5JqCjI/AAAAAAAAAk4/ScX5aYRQ72M/Main_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Dragging the Product node to the designer (query with parameters)</font></p> <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S35IX-gvc0I/AAAAAAAAAk8/gxs9zeW-Sp8/s1600-h/DataPager3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="DataPager" border="0" alt="DataPager" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S35IfXomctI/AAAAAAAAAlA/iGPtsFkOd7E/DataPager_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Dragging the Product node onto the DataPager</font></p> <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S35IkXglAuI/AAAAAAAAAlE/TVICuuWUung/s1600-h/Details3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Details" border="0" alt="Details" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S35Iqrw8IgI/AAAAAAAAAlI/Jc7qCK2aC_Y/Details_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Data Sources Window: Details mode selection</font></p> <p align="center"><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S35IwltyCTI/AAAAAAAAAlM/coktsgvGThQ/s1600-h/Details23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Details2" border="0" alt="Details2" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S35I3euTMsI/AAAAAAAAAlQ/PBCVvlnM7zY/Details2_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Dragging the Product node to the designer (Details mode)</font></p> <p align="center"><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S35I8zl7_dI/AAAAAAAAAlU/Rw2BsmJ-N4w/s1600-h/Customize13.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Customize1" border="0" alt="Customize1" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S35JDn9y3tI/AAAAAAAAAlY/YZvsi6GX5z0/Customize1_thumb1.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S35JJ81e0XI/AAAAAAAAAlc/CE2cqh-Rcaw/s1600-h/Customize23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Customize2" border="0" alt="Customize2" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S35JRdPXZjI/AAAAAAAAAlg/DLSUpcpbioA/Customize2_thumb1.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S35JXAzDkQI/AAAAAAAAAlk/2s4eO_9ffb4/s1600-h/Customize35.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Customize3" border="0" alt="Customize3" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S35Jd1bh5II/AAAAAAAAAlo/7xlsUqg8m7s/Customize3_thumb3.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Data Sources Window: Custom control selection</font></p> <p align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigd_5FwxABV-O5ecjUf-mN7hQ2R3zmDskCVTN31pg7vPExqdsX3MrbYubSkoTfmV6WR3jcpibEXCU1BDYwC3CDqjT-GmzjrlgG6qw387d2EF73MD9-BnEirAnzN4HHiUpFZL_IeJvk-iw/s1600-h/Customize43.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Customize4" border="0" alt="Customize4" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S35Jq_X6hOI/AAAAAAAAAlw/ewSBT16RzF8/Customize4_thumb1.png?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Dragging the User node to the designer (Details mode, custom control)</font></p> <p></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/BusinessApplicationDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe> </p> <p align="center"> <strong>Server validation &  resolving concurrency conflicts </strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/ConflictsExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe> </p> <p align="center"><strong>Windows Authentication</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/WindowsAuthentication.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe> </p> <p align="center"><strong>A Https Enabled DomainService</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/HttpsExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe> </p> <p align="center"><strong>DomainContext: cross-domain scenario</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/CrossDomainExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe> </p> <p align="center"><strong>Loading Data from Related Entities</strong></p> <p align="center"><font color="#ff8000">Silverlight Business Applications: Design tools</font>  </p> <p align="center"><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S35JvTkux7I/AAAAAAAAAl4/XQrwSmDt7Y0/s1600-h/Related13.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Related1" border="0" alt="Related1" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S35J0v-i6HI/AAAAAAAAAl8/ph0jdXhtBHE/Related1_thumb1.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S35J5AG3jMI/AAAAAAAAAmA/OeLoQ4v8mZ4/s1600-h/Related23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Related2" border="0" alt="Related2" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6GxmEukYhGvBG8AkWAANrA7p0mH9-w8Z3cdV83sGH2Bfd5NW6fFgndhSFmJxXud-0yp2S_jrOgRK6Mq5yHLAkLxLeMvzQYJim66hOYeWr1-Nft4lXHUIGRKA4M7gpWcO06puhcL7onHI/?imgmax=800" width="644" height="484" /></a> <font color="#ff8000">Dragging the Products node (the child node of the Category node) to the designer</font></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/RelatedEntitiesDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="center"><strong>Multiple DomainContexts</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/MultipleDomainContextsExamples.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="center"><strong>WCF RIA Services Class Libraries</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/RIAServicesLibrariesDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="center"><strong>ASP.NET Dynamic Data integration</strong></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/WCF^_RIA^_VS2010^_Prev/ASPNetDynamicDataExample.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Other useful samples I have found</p> <ul> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2390">POCO</a> </li> <li>Authentication <ul> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2661">Custom authentication service</a> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2661">Offline Authentication</a> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3714">AuthenticationService in RIAServicesClassLibrary</a> </li> </ul> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2807">Repository pattern</a> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2659">Custom Metadata Provider</a> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2660">Custom Domain Service Type</a> </li> <li><a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3548">Hosting in Azure</a> </li> </ul> <p>Useful links</p> <ul> <li><a title="http://microsoftpdc.com/Sessions/CL07" href="http://microsoftpdc.com/Sessions/CL07">http://microsoftpdc.com/Sessions/CL07</a> </li> <li><a title="http://microsoftpdc.com/Sessions/CL21" href="http://microsoftpdc.com/Sessions/CL21">http://microsoftpdc.com/Sessions/CL21</a> </li> <li><a title="http://microsoftpdc.com/Sessions/CL19" href="http://microsoftpdc.com/Sessions/CL19">http://microsoftpdc.com/Sessions/CL19</a> </li> <li><a title="http://silverlight.net/learn/videos/all/ria-services-support-visual-studio-2010/" href="http://silverlight.net/learn/videos/all/ria-services-support-visual-studio-2010/">http://silverlight.net/learn/videos/all/ria-services-support-visual-studio-2010/</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx" href="http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx">http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx</a> </li> <li><a title="http://code.msdn.microsoft.com/RiaServices" href="http://code.msdn.microsoft.com/RiaServices">http://code.msdn.microsoft.com/RiaServices</a> </li> <li><a title="http://blogs.msdn.com/brada/" href="http://blogs.msdn.com/brada/">http://blogs.msdn.com/brada/</a> </li> <li><a title="http://jeffhandley.com/" href="http://jeffhandley.com/">http://jeffhandley.com/</a> </li> <li><a title="http://www.nikhilk.net/" href="http://www.nikhilk.net/">http://www.nikhilk.net/</a> </li> <li><a title="http://timheuer.com/" href="http://timheuer.com/">http://timheuer.com/</a> </li> <li><a title="http://weblogs.asp.net/fredriknormen/" href="http://weblogs.asp.net/fredriknormen/">http://weblogs.asp.net/fredriknormen/</a> </li> <li><a title="http://www.riaservicesblog.net/Blog/" href="http://www.riaservicesblog.net/Blog/">http://www.riaservicesblog.net/Blog/</a> </li> <li><a title="http://blogs.msdn.com/digital_ruminations/" href="http://blogs.msdn.com/digital_ruminations/">http://blogs.msdn.com/digital_ruminations/</a> </li> <li><a title="http://blogs.msdn.com/vsdata/" href="http://blogs.msdn.com/vsdata/">http://blogs.msdn.com/vsdata/</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-53740222068398300102010-01-24T20:31:00.000+01:002010-01-25T00:28:24.800+01:00New features in Silverlight 4 Beta: Viewbox<p><em>Viewbox </em>has been around in WPF since version 1 and it’s also part of the Silverlight Toolkit. It’s also in runtime of Silverlight 4 Beta.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ5wlsIEtuxnq1-BZaf5-ZBeZbYU0s2qPQxpx8of9VsP7G5AMV9HRHQL9jJwoN5K0FHikvVCW86O5u45Kt3tuRaY90z-r_yzWx54EAuinRD3HrbjdBQ5eZivHVoH4EW-3BvW4TcFlzyIo/s1600-h/viewbox2%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="viewbox2" border="0" alt="viewbox2" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S1zXOu1rQ-I/AAAAAAAAAkE/mgn8HWJAexE/viewbox2_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/ViewBoxDemo.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links</p> <ul> <li><a title="http://silverlight.net/learn/videos/all/using-the-viewbox-control/" href="http://silverlight.net/learn/videos/all/using-the-viewbox-control/">http://silverlight.net/learn/videos/all/using-the-viewbox-control/</a></li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/" href="http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/">http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/</a></li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a></li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.controls.viewbox(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.controls.viewbox(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.controls.viewbox(VS.96).aspx</a></li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-viewbox.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-viewbox.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-viewbox.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-55334433529616826052010-01-23T19:52:00.000+01:002010-01-24T23:23:34.489+01:00New features in Silverlight 4 Beta: C# 4 & Sharing Assemblies with .NET Apps<p>Have you tried to use new C# 4 features in Silverlight 4 Beta ? Read this post.</p> <p>I’ve made Silverlight sample (<em>CSharp4</em>) to demonstrate new C# 4 features and new BCL types</p> <ol> <li><a href="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx#support_for_dynamic_type">Dynamic Binding</a> </li> <li><a href="http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx">Named and Optional Arguments</a>  </li> <li><a href="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx#tuples">Tuples</a> </li> </ol> <p>Silverlight 4 has also changes in <a href="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx#collection_sets">Collection Sets</a> and <a href="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx#parsing_and_formatting_time_intervals">parsing and formatting time intervals</a>.</p> <p><a href="http://msdn.microsoft.com/en-us/library/dd799517(VS.100).aspx">Covariance and contravariance</a> don’t work in Silverlight 4 Beta (I have tested it – you can’t compile code with variance). </p> <p>I’ve built second Silverlight example (<em>ModifyHTMLbyNET</em>) to show HTML /JavaScript integration with  <em>dynamic</em> type. </p> <p>Both samples you can download below.</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/CSharp4.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p><em>Dynamic</em> type is very useful for <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta-out_27.html">native integration (COM)</a>, too.</p> <p>You can read about sharing Silverlight assemblies with .NET <a href="http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/">here</a> and <a href="http://blogs.msdn.com/clrteam/archive/2009/12/01/sharing-silverlight-assemblies-with-net-apps.aspx">here</a>.</p> <p>Useful links</p> <ul> <li><a title="http://microsoftpdc.com/Sessions/FT11" href="http://microsoftpdc.com/Sessions/FT11">http://microsoftpdc.com/Sessions/FT11</a> </li> <li><a title="http://microsoftpdc.com/Sessions/FT31" href="http://microsoftpdc.com/Sessions/FT31">http://microsoftpdc.com/Sessions/FT31</a> </li> <li><a title="http://channel9.msdn.com/pdc2008/TL16/" href="http://channel9.msdn.com/pdc2008/TL16/">http://channel9.msdn.com/pdc2008/TL16/</a> </li> <li><a title="http://channel9.msdn.com/pdc2008/TL54/" href="http://channel9.msdn.com/pdc2008/TL54/">http://channel9.msdn.com/pdc2008/TL54/</a> </li> <li><a title="http://channel9.msdn.com/pdc2008/PC49/" href="http://channel9.msdn.com/pdc2008/PC49/">http://channel9.msdn.com/pdc2008/PC49/</a> </li> <li><a title="http://code.msdn.microsoft.com/csharpfuture" href="http://code.msdn.microsoft.com/csharpfuture">http://code.msdn.microsoft.com/csharpfuture</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx">http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd264736(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd264736(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd264736(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd264741(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd264741(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd264741(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject(VS.100).aspx">http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(VS.100).aspx">http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd799517(VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd799517(VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd799517(VS.100).aspx</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-html-interop-amp-dynamic-language-features.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-html-interop-amp-dynamic-language-features.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-html-interop-amp-dynamic-language-features.aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/vcsharp/ee957397.aspx" href="http://msdn.microsoft.com/en-us/vcsharp/ee957397.aspx">http://msdn.microsoft.com/en-us/vcsharp/ee957397.aspx</a> </li> <li><a title="http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/" href="http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/">http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/</a> </li> <li><a title="http://blogs.msdn.com/clrteam/archive/2009/12/01/sharing-silverlight-assemblies-with-net-apps.aspx" href="http://blogs.msdn.com/clrteam/archive/2009/12/01/sharing-silverlight-assemblies-with-net-apps.aspx">http://blogs.msdn.com/clrteam/archive/2009/12/01/sharing-silverlight-assemblies-with-net-apps.aspx</a> </li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-40870101625982960792010-01-19T21:57:00.000+01:002010-01-20T01:33:27.977+01:00New features in Silverlight 4 Beta: WCF Data Services<p>ADO.NET Data Services has changed its name to WCF Data Services. Today I’ll write about consuming these data services from Silverlight 4 Beta client.</p> <p>I have created Silverlight 4 application consuming .NET 4.0 WCF Data Service in x-domain scenario (which is supported in updated data services). Silverlight 4 client library includes most of the new features previewed in the <a href="http://blogs.msdn.com/astoriateam/archive/2009/08/31/ado-net-data-services-v1-5-ctp2-now-available-for-download.aspx">ADO.NET Data Services CTP2</a>.  Using the Visual Studio 2010 Beta 2 <em>Add Service Reference</em> feature with the Silverlight 4.0 Beta requires <a href="http://blogs.msdn.com/astoriateam/archive/2009/12/01/using-the-silverlight-4-0-wcf-data-services-client-library.aspx">a few extra steps</a> from the normal process. </p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S1ZPOqGuu4I/AAAAAAAAAj0/VURV4TevpgY/s1600-h/OData%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="OData" border="0" alt="OData" src="http://lh6.ggpht.com/_D_LHhy5fi8o/S1ZPVp39srI/AAAAAAAAAj4/ZfY6jsVyiss/OData_thumb%5B1%5D.png?imgmax=800" width="644" height="484" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/Communication^_v2.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p><a href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx">The Open Data Protocol Visualizer for Visual Studio CTP1</a>  (see screenshot above)  provides a read-only visualization of the types, properties, associations, and other objects in the <a href="http://msdn.microsoft.com/en-us/library/bb387122.aspx">Entity Data Model (EDM)</a> returned from an <a href="http://msdn.microsoft.com/en-us/library/cc716656.aspx">Open Data Protocol’s metadata endpoint</a>. You can download and install it using <em>Extension Manager</em>. </p> <p>Useful links</p> <ul> <li><a href="http://microsoftpdc.com/Sessions/CL06">http://microsoftpdc.com/Sessions/CL06</a></li> <li><a href="http://blogs.msdn.com/silverlightws/archive/2009/12/18/pdc-presentation-and-demo.aspx">http://blogs.msdn.com/silverlightws/archive/2009/12/18/pdc-presentation-and-demo.aspx</a></li> <li><a title="http://msdn.microsoft.com/en-us/library/cc838234(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/cc838234(VS.96).aspx">http://msdn.microsoft.com/en-us/library/cc838234(VS.96).aspx</a></li> <li><a title="http://code.msdn.microsoft.com/AstoriaDocSamples" href="http://code.msdn.microsoft.com/AstoriaDocSamples">http://code.msdn.microsoft.com/AstoriaDocSamples</a></li> <li><a title="http://blogs.msdn.com/astoriateam/" href="http://blogs.msdn.com/astoriateam/">http://blogs.msdn.com/astoriateam/</a></li> <ul> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/08/31/ado-net-data-services-v1-5-ctp2-now-available-for-download.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/08/31/ado-net-data-services-v1-5-ctp2-now-available-for-download.aspx">http://blogs.msdn.com/astoriateam/archive/2009/08/31/ado-net-data-services-v1-5-ctp2-now-available-for-download.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/09/01/customizable-feed-support-in-ctp2.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/09/01/customizable-feed-support-in-ctp2.aspx">http://blogs.msdn.com/astoriateam/archive/2009/09/01/customizable-feed-support-in-ctp2.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/09/01/ado-net-data-services-v1-5-ctp2-projections-overview-server.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/09/01/ado-net-data-services-v1-5-ctp2-projections-overview-server.aspx">http://blogs.msdn.com/astoriateam/archive/2009/09/01/ado-net-data-services-v1-5-ctp2-projections-overview-server.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/09/01/introduction-to-data-binding-in-ctp2.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/09/01/introduction-to-data-binding-in-ctp2.aspx">http://blogs.msdn.com/astoriateam/archive/2009/09/01/introduction-to-data-binding-in-ctp2.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/09/03/using-the-ado-net-data-services-silverlight-client-in-x-domain-and-out-of-browser-scenarios-i.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/09/03/using-the-ado-net-data-services-silverlight-client-in-x-domain-and-out-of-browser-scenarios-i.aspx">http://blogs.msdn.com/astoriateam/archive/2009/09/03/using-the-ado-net-data-services-silverlight-client-in-x-domain-and-out-of-browser-scenarios-i.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/09/10/more-on-using-data-services-silverlight-3-in-xdomain-out-of-browser-scenarios.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/09/10/more-on-using-data-services-silverlight-3-in-xdomain-out-of-browser-scenarios.aspx">http://blogs.msdn.com/astoriateam/archive/2009/09/10/more-on-using-data-services-silverlight-3-in-xdomain-out-of-browser-scenarios.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/10/19/share-your-data-across-data-sources-sharepoint-sql-server-azure-reporting-services-etc-applications-net-silverlight-excel-etc-using-data-services.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/10/19/share-your-data-across-data-sources-sharepoint-sql-server-azure-reporting-services-etc-applications-net-silverlight-excel-etc-using-data-services.aspx">http://blogs.msdn.com/astoriateam/archive/2009/10/19/share-your-data-across-data-sources-sharepoint-sql-server-azure-reporting-services-etc-applications-net-silverlight-excel-etc-using-data-services.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol-odata.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol-odata.aspx">http://blogs.msdn.com/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol-odata.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx">http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/11/25/data-services-release-plan-update.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/11/25/data-services-release-plan-update.aspx">http://blogs.msdn.com/astoriateam/archive/2009/11/25/data-services-release-plan-update.aspx</a></li> <li><a title="http://blogs.msdn.com/astoriateam/archive/2009/12/01/using-the-silverlight-4-0-wcf-data-services-client-library.aspx" href="http://blogs.msdn.com/astoriateam/archive/2009/12/01/using-the-silverlight-4-0-wcf-data-services-client-library.aspx">http://blogs.msdn.com/astoriateam/archive/2009/12/01/using-the-silverlight-4-0-wcf-data-services-client-library.aspx</a></li> </ul> <li><a title="http://microsoftpdc.com/Sessions/FT12" href="http://microsoftpdc.com/Sessions/FT12">http://microsoftpdc.com/Sessions/FT12</a></li> <li><a title="http://microsoftpdc.com/Sessions/FT55" href="http://microsoftpdc.com/Sessions/FT55">http://microsoftpdc.com/Sessions/FT55</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-80646033342696827822010-01-16T19:20:00.000+01:002010-01-17T22:25:16.538+01:00New features in Silverlight 4 Beta: Multicast, Authentication, WCF<p>This post will be about some new communication features in Silverlight 4.  In the coming days I’ll write about frameworks built on top of WCF:  WCF Data Services (formerly ADO.NET Data Services) and WCF RIA Services (formerly .NET RIA Services).</p> <p>What’s new? </p> <ul> <li><a name="_Toc245894067">UDP Multicast Client Support</a> (<em>UdpSingleSourceMulticastClient</em> and <em>UdpAnySourceMulticastClient</em>) </li> <li>Client Http Stack: Authentication Support (Basic, Digest, NTLM) </li> <li>Trusted Applications: <a name="_Toc245894098">Cross-Domain Networking Access</a> </li> <li>WCF: .net.tcp protocol (<em>NetTcpBinding</em>) </li> <li><a name="_Toc245894066">Support for Referer Header</a> </li> <li><a name="_Toc245894088">WMS Multicast</a> (<em>MediaElement</em>) </li> </ul> <p>I have tested multicast, client http stack authentication and WCF <em>NetTcpBinding</em> (from client to server and duplex). You can download sources below.</p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/Communication^_v1.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>I had some problems to get IIS configured to use Net.TCP.  Mike had written <a href="http://42spikes.com/post/Using-Silverlight-4-and-NetTCP-Duplex-Callbacks.aspx">an excellent post</a> about using WCF <em>NetTcpBinding</em> with Silverlight 4. You should read it.</p> <p>Useful links</p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a> </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a> </li> <li><a title="http://microsoftpdc.com/Sessions/CL06" href="http://microsoftpdc.com/Sessions/CL06">http://microsoftpdc.com/Sessions/CL06</a> </li> <li><a title="http://blogs.msdn.com/silverlightws/archive/2009/12/18/pdc-presentation-and-demo.aspx" href="http://blogs.msdn.com/silverlightws/archive/2009/12/18/pdc-presentation-and-demo.aspx">http://blogs.msdn.com/silverlightws/archive/2009/12/18/pdc-presentation-and-demo.aspx</a> </li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a> </li> <li><a title="http://blogs.msdn.com/silverlightws/archive/2009/11/18/new-web-services-features-in-silverlight-4-beta.aspx" href="http://blogs.msdn.com/silverlightws/archive/2009/11/18/new-web-services-features-in-silverlight-4-beta.aspx">http://blogs.msdn.com/silverlightws/archive/2009/11/18/new-web-services-features-in-silverlight-4-beta.aspx</a> </li> <li><a title="http://blogs.msdn.com/ncl/archive/2009/11/18/udp-multicast-in-silverlight-4.aspx" href="http://blogs.msdn.com/ncl/archive/2009/11/18/udp-multicast-in-silverlight-4.aspx">http://blogs.msdn.com/ncl/archive/2009/11/18/udp-multicast-in-silverlight-4.aspx</a> </li> <li><a title="http://code.msdn.microsoft.com/silverlightsdk" href="http://code.msdn.microsoft.com/silverlightsdk">http://code.msdn.microsoft.com/silverlightsdk</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/ee707325(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/ee707325(VS.96).aspx">http://msdn.microsoft.com/en-us/library/ee707325(VS.96).aspx</a> </li> <li><a title="http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/" href="http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/">http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx">http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx</a> </li> <li><a title="http://tomasz.janczuk.org/2009/11/wcf-nettcp-protocol-in-silverlight-4.html" href="http://tomasz.janczuk.org/2009/11/wcf-nettcp-protocol-in-silverlight-4.html">http://tomasz.janczuk.org/2009/11/wcf-nettcp-protocol-in-silverlight-4.html</a> </li> <li><a title="http://tomasz.janczuk.org/2009/11/pubsub-sample-with-wcf-nettcp-protocol.html" href="http://tomasz.janczuk.org/2009/11/pubsub-sample-with-wcf-nettcp-protocol.html">http://tomasz.janczuk.org/2009/11/pubsub-sample-with-wcf-nettcp-protocol.html</a> </li> <li><a title="http://42spikes.com/post/Using-Silverlight-4-and-NetTCP-Duplex-Callbacks.aspx" href="http://42spikes.com/post/Using-Silverlight-4-and-NetTCP-Duplex-Callbacks.aspx">http://42spikes.com/post/Using-Silverlight-4-and-NetTCP-Duplex-Callbacks.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-83155474540626436892010-01-05T22:12:00.000+01:002010-01-06T09:22:07.424+01:00New features in Silverlight 4 Beta: Managed Extensibility Framework (MEF)<p>The Managed Extensibility Framework (MEF) is a new library in Silverlight 4. MEF enables you to build modularized applications whose components can be added in an incrementally. MEF ships as part of Silverlight 4, but we’ve also made a Silverlight 3 compatible version of MEF available on codeplex at <a href="http://mef.codeplex.com/">MEF.Codeplex.com</a> (current version: Preview 8). Read this post!</p> <p>I have create my sample application (VS solution: MEF). There’ are  <a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/31/silverlight-4-screencasts-the-managed-extensibility-framework-mef.aspx">excellent showcasts</a> prepared by Mike Taulty. They show many MEF features. I have make VS solution (MEF2) with almost all presented cases. </p> <p>MEF  features in these 2 solutions:</p> <ul> <li>Exports ([<em>Export</em>]) <ul> <li>Composable Part, properties, methods (as delegates) </li> <li>Export metadata ([<em>ExportMetadata</em>(key, value)]) </li> <li>Custom Export Attributes ([<em>Custom</em>]: [<em>Export</em>]) </li> <li>Inheritance ([<em>InheritedExport</em>]) </li> <li>Life time (option: [<em>PartCreationPolicy</em>]:  <em>Any</em>, <em>Shared</em>, <em>Nonshared</em>) </li> </ul> </li> <li>Imports ([<em>Import</em>]) </li> <ul> <li>Properties, constructor parameters ([<em>ImportingConstructor</em>]), fields, collections ([<em>ImportMany</em>]),  methods (as delegates) </li> <li>Parameter imports (Implied import  - type of parameter (by default),  Explicit import - contract) </li> <li>Importing Metadata </li> <li>Requirement ([<em>Import</em>] option:  <em>AllowDefault</em>) </li> <li>Recomposition (option: <em>AllowRecomposition</em>) </li> <li>Notifications (<em>IPartImportsSatisfactionNotification</em>) </li> <li>Rejection (Stable Composition) </li> <li>Lazy imports (<em>Lazy</em><<em>T</em>>) </li> <li>Dynamic Instantiation (<em>PartCreator</em><<em>T</em>>)</li> </ul> <li>Composition & hosting </li> <ul> <li>Part Initializer (<em>PartInitializer.SatisfyImports</em>) </li> <li>Catalogs (<em>AssemblyCatalog</em>, .NET: <em>DirectoryCatalog /</em> Silverlight:<em> PackageCatalog</em>, <em>TypeCatalog</em>, <em>AggregateCatalog</em>) </li> <li>Containers (<em>CompositionContainer, <em>CompositionHost.InitializeContainer</em></em>) </li> </ul> <ul> <li>Export Providers (<em>CatalogExportProvider</em>, <em>AggregateExportProvider</em>) </li> </ul> <li>Silverlight 4 Beta Toolkit: Dynamic XAP downloading (<em>PackageCatalog</em>, <em>Package.DownloadPackageAsync</em>) </li> </ul> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RHPeQzDlI/AAAAAAAAAis/udZw_jtMhcw/s1600-h/MEF_01S3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_01S" border="0" alt="MEF_01S" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RHRmuqxEI/AAAAAAAAAiw/m3QvYXnCkHQ/MEF_01S_thumb1.png?imgmax=800" width="644" height="404" /></a><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RHTkbi0SI/AAAAAAAAAi0/ow_zZiNpyKY/s1600-h/MEF_02S3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_02S" border="0" alt="MEF_02S" src="http://lh3.ggpht.com/_D_LHhy5fi8o/S0RHWH3i26I/AAAAAAAAAi4/T7Y82GKjidY/MEF_02S_thumb1.png?imgmax=800" width="644" height="404" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/MEF^_Samples.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>On the Internet there are many interesting samples with MEF and Silverlight 3 or 4 Beta. For example:</p> <p><a href="http://cid-f8b2fd72406fb218.skydrive.live.com/self.aspx/blog/PDC09%20Demos.zip">HauseSpacePlanner</a> (PDC 09)</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S0RHYWzdarI/AAAAAAAAAi8/WP-ZVAUwX68/s1600-h/MEF_033.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_03" border="0" alt="MEF_03" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S0RHafKCW6I/AAAAAAAAAjA/ul9MIHVCZn0/MEF_03_thumb1.png?imgmax=800" width="644" height="404" /></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S0RHc-HnNDI/AAAAAAAAAjE/RQO1DkVJ_HI/s1600-h/MEF_043.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_04" border="0" alt="MEF_04" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RHgYtrY8I/AAAAAAAAAjI/zS9jEtVYLH8/MEF_04_thumb1.png?imgmax=800" width="644" height="404" /></a></p> <p><a href="http://mef.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34838#DownloadId=88937">ExtensibleGrid</a> (Sample in MEF sources, PDC 09)</p> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/S0RHlewuIwI/AAAAAAAAAjM/NIVhz_VcUcQ/s1600-h/MEF_05A3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_05A" border="0" alt="MEF_05A" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S0RHrFqD-VI/AAAAAAAAAjQ/d6-IrY7ixK4/MEF_05A_thumb1.png?imgmax=800" width="644" height="404" /></a> <a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S0RHvd3ADEI/AAAAAAAAAjU/sbieKyAwNgk/s1600-h/MEF_053.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_05" border="0" alt="MEF_05" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S0RH0K-PftI/AAAAAAAAAjY/StnUWOjsARY/MEF_05_thumb1.png?imgmax=800" width="644" height="404" /></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S0RH5C21SSI/AAAAAAAAAjc/Trgs2lQgQ9A/s1600-h/MEF_063.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_06" border="0" alt="MEF_06" src="http://lh4.ggpht.com/_D_LHhy5fi8o/S0RH_Avr_fI/AAAAAAAAAjg/nZFi6re5ST4/MEF_06_thumb1.png?imgmax=800" width="644" height="404" /></a></p> <p><a href="http://brad_abrams.members.winisp.net/Projects/Silverlight3RTM/SilverlightMEFNavigation.zip">Silverlight 3 Navigation with MEF</a> (Brad Abrams)</p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/S0RIBwYyfEI/AAAAAAAAAjk/ct-7CAV_P6k/s1600-h/MEF_073.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_07" border="0" alt="MEF_07" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RIEyE1SVI/AAAAAAAAAjo/nqULLS2sy9o/MEF_07_thumb1.png?imgmax=800" width="644" height="458" /></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/S0RIHyXzIoI/AAAAAAAAAjs/ag87LBeucWU/s1600-h/MEF_083.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MEF_08" border="0" alt="MEF_08" src="http://lh5.ggpht.com/_D_LHhy5fi8o/S0RIKy15eSI/AAAAAAAAAjw/5lZLNGuZlhc/MEF_08_thumb1.png?imgmax=800" width="644" height="458" /></a></p> <p>Useful links</p> <ul> <li><a title="http://microsoftpdc.com/Sessions/FT24" href="http://microsoftpdc.com/Sessions/FT24">http://microsoftpdc.com/Sessions/FT24</a> </li> <li><a title="http://blogs.msdn.com/gblock/" href="http://blogs.msdn.com/gblock/">http://blogs.msdn.com/gblock/</a> <ul> <li><a title="http://blogs.msdn.com/gblock/archive/2009/11/29/mef-has-landed-in-silverlight-4-we-come-in-the-name-of-extensibility.aspx" href="http://blogs.msdn.com/gblock/archive/2009/11/29/mef-has-landed-in-silverlight-4-we-come-in-the-name-of-extensibility.aspx">http://blogs.msdn.com/gblock/archive/2009/11/29/mef-has-landed-in-silverlight-4-we-come-in-the-name-of-extensibility.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/11/30/building-the-hello-mef-dashboard-in-silverlight-4-part-i.aspx" href="http://blogs.msdn.com/gblock/archive/2009/11/30/building-the-hello-mef-dashboard-in-silverlight-4-part-i.aspx">http://blogs.msdn.com/gblock/archive/2009/11/30/building-the-hello-mef-dashboard-in-silverlight-4-part-i.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/12/05/building-hello-mef-part-ii-metadata-and-why-being-lazy-is-a-good-thing.aspx" href="http://blogs.msdn.com/gblock/archive/2009/12/05/building-hello-mef-part-ii-metadata-and-why-being-lazy-is-a-good-thing.aspx">http://blogs.msdn.com/gblock/archive/2009/12/05/building-hello-mef-part-ii-metadata-and-why-being-lazy-is-a-good-thing.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/12/15/building-hello-mef-part-iii-xap-partitioning-with-the-host-s-permission-and-the-sweetness-of-recomposition.aspx" href="http://blogs.msdn.com/gblock/archive/2009/12/15/building-hello-mef-part-iii-xap-partitioning-with-the-host-s-permission-and-the-sweetness-of-recomposition.aspx">http://blogs.msdn.com/gblock/archive/2009/12/15/building-hello-mef-part-iii-xap-partitioning-with-the-host-s-permission-and-the-sweetness-of-recomposition.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/08/16/should-i-use-mef-for-my-general-ioc-needs.aspx" href="http://blogs.msdn.com/gblock/archive/2009/08/16/should-i-use-mef-for-my-general-ioc-needs.aspx">http://blogs.msdn.com/gblock/archive/2009/08/16/should-i-use-mef-for-my-general-ioc-needs.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/11/01/should-i-use-mef-with-an-ioc-container-part-1.aspx" href="http://blogs.msdn.com/gblock/archive/2009/11/01/should-i-use-mef-with-an-ioc-container-part-1.aspx">http://blogs.msdn.com/gblock/archive/2009/11/01/should-i-use-mef-with-an-ioc-container-part-1.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx" href="http://blogs.msdn.com/gblock/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx">http://blogs.msdn.com/gblock/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx</a> </li> <li><a title="http://blogs.msdn.com/gblock/archive/2010/01/03/mef-and-prism-exploration-mef-module-loading.aspx" href="http://blogs.msdn.com/gblock/archive/2010/01/03/mef-and-prism-exploration-mef-module-loading.aspx">http://blogs.msdn.com/gblock/archive/2010/01/03/mef-and-prism-exploration-mef-module-loading.aspx</a> </li> </ul> </li> <li><a title="http://mtaulty.com/" href="http://mtaulty.com/">http://mtaulty.com/</a> <ul> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-managed-extensibility-framework.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-managed-extensibility-framework.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-managed-extensibility-framework.aspx</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/31/silverlight-4-screencasts-the-managed-extensibility-framework-mef.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/31/silverlight-4-screencasts-the-managed-extensibility-framework-mef.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/31/silverlight-4-screencasts-the-managed-extensibility-framework-mef.aspx</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/01/04/silverlight-4-beta-more-on-mef-and-the-packagecatalog.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/01/04/silverlight-4-beta-more-on-mef-and-the-packagecatalog.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/01/04/silverlight-4-beta-more-on-mef-and-the-packagecatalog.aspx</a> </li> </ul> </li> <li><a title="http://mef.codeplex.com/" href="http://mef.codeplex.com/">http://mef.codeplex.com/</a> <ul> <li><a title="http://mef.codeplex.com/wikipage?title=Guide" href="http://mef.codeplex.com/wikipage?title=Guide">http://mef.codeplex.com/wikipage?title=Guide</a> </li> <li><a title="http://mef.codeplex.com/wikipage?title=Architecture&referringTitle=Home" href="http://mef.codeplex.com/wikipage?title=Architecture&referringTitle=Home">http://mef.codeplex.com/wikipage?title=Architecture&referringTitle=Home</a> </li> <li><a title="http://mef.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=62133" href="http://mef.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=62133">http://mef.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=62133</a> </li> </ul> </li> <li><a title="http://silverlight.net/learn/videos/all/using-mef-silverlight-4-extensibility/" href="http://silverlight.net/learn/videos/all/using-mef-silverlight-4-extensibility/">http://silverlight.net/learn/videos/all/using-mef-silverlight-4-extensibility/</a> </li> <li><a title="http://development-guides.silverbaylabs.org/Video/Silverlight-MEF" href="http://development-guides.silverbaylabs.org/Video/Silverlight-MEF">http://development-guides.silverbaylabs.org/Video/Silverlight-MEF</a> </li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/" href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a></li> <li><a title="http://channel9.msdn.com/shows/10-4/10-4-Episode-26-Creating-Extensible-Applications-with-the-Managed-Extensibility-Framework/" href="http://channel9.msdn.com/shows/10-4/10-4-Episode-26-Creating-Extensible-Applications-with-the-Managed-Extensibility-Framework/">http://channel9.msdn.com/shows/10-4/10-4-Episode-26-Creating-Extensible-Applications-with-the-Managed-Extensibility-Framework/</a> </li> <li><a title="http://blogs.msdn.com/brada/" href="http://blogs.msdn.com/brada/">http://blogs.msdn.com/brada/</a> <ul> <li><a title="http://blogs.msdn.com/brada/archive/2008/09/29/simple-introduction-to-composite-applications-with-the-managed-extensions-framework.aspx" href="http://blogs.msdn.com/brada/archive/2008/09/29/simple-introduction-to-composite-applications-with-the-managed-extensions-framework.aspx">http://blogs.msdn.com/brada/archive/2008/09/29/simple-introduction-to-composite-applications-with-the-managed-extensions-framework.aspx</a> </li> <li><a title="http://blogs.msdn.com/brada/archive/2009/07/13/managed-extensibility-framework-mef-preview-6-silverlight-support-and-much-more.aspx" href="http://blogs.msdn.com/brada/archive/2009/07/13/managed-extensibility-framework-mef-preview-6-silverlight-support-and-much-more.aspx">http://blogs.msdn.com/brada/archive/2009/07/13/managed-extensibility-framework-mef-preview-6-silverlight-support-and-much-more.aspx</a> </li> <li><a title="http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx" href="http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx">http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx</a> </li> <li><a title="http://blogs.msdn.com/brada/archive/2009/07/31/silverlight-3-navigation-dynamically-loaded-pages-now-mef-powered.aspx" href="http://blogs.msdn.com/brada/archive/2009/07/31/silverlight-3-navigation-dynamically-loaded-pages-now-mef-powered.aspx">http://blogs.msdn.com/brada/archive/2009/07/31/silverlight-3-navigation-dynamically-loaded-pages-now-mef-powered.aspx</a> </li> </ul> </li> <li><a title="http://blogs.msdn.com/nblumhardt/" href="http://blogs.msdn.com/nblumhardt/">http://blogs.msdn.com/nblumhardt/</a> <ul> <li><a title="http://blogs.msdn.com/nblumhardt/archive/2009/07/09/mef-preview-6-available.aspx" href="http://blogs.msdn.com/nblumhardt/archive/2009/07/09/mef-preview-6-available.aspx">http://blogs.msdn.com/nblumhardt/archive/2009/07/09/mef-preview-6-available.aspx</a> </li> <li><a title="http://blogs.msdn.com/nblumhardt/archive/2009/07/17/light-up-or-mef-optional-exports.aspx" href="http://blogs.msdn.com/nblumhardt/archive/2009/07/17/light-up-or-mef-optional-exports.aspx">http://blogs.msdn.com/nblumhardt/archive/2009/07/17/light-up-or-mef-optional-exports.aspx</a> </li> </ul> </li> <li><a title="http://blogs.msdn.com/dsplaisted/" href="http://blogs.msdn.com/dsplaisted/">http://blogs.msdn.com/dsplaisted/</a> <ul> <li><a title="http://blogs.msdn.com/dsplaisted/archive/2009/06/08/a-crash-course-on-the-mef-primitives.aspx" href="http://blogs.msdn.com/dsplaisted/archive/2009/06/08/a-crash-course-on-the-mef-primitives.aspx">http://blogs.msdn.com/dsplaisted/archive/2009/06/08/a-crash-course-on-the-mef-primitives.aspx</a> </li> </ul> </li> <li><a title="http://denisvuyka.wordpress.com/" href="http://denisvuyka.wordpress.com/">http://denisvuyka.wordpress.com/</a> <ul> <li><a title="http://denisvuyka.wordpress.com/2009/02/21/using-eventaggregator-with-mef/" href="http://denisvuyka.wordpress.com/2009/02/21/using-eventaggregator-with-mef/">http://denisvuyka.wordpress.com/2009/02/21/using-eventaggregator-with-mef/</a> </li> </ul> </li> <li><a title="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/12/08/mef-silverlight-and-the-hvp.aspx" href="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/12/08/mef-silverlight-and-the-hvp.aspx">http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/12/08/mef-silverlight-and-the-hvp.aspx</a> </li> <li><a title="http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx" href="http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx">http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx</a> </li> <li><a title="http://www.sidarok.com/web/blog/content/2008/09/26/what-is-this-managed-extensibility-framework-thing-all-about.html" href="http://www.sidarok.com/web/blog/content/2008/09/26/what-is-this-managed-extensibility-framework-thing-all-about.html">http://www.sidarok.com/web/blog/content/2008/09/26/what-is-this-managed-extensibility-framework-thing-all-about.html</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-52855887670658696852009-12-27T23:33:00.000+01:002009-12-28T01:05:15.950+01:00New features in Silverlight 4 Beta: Implicit Styles & CompositeTransform<p>In this post I’ll show two useful features: implicit styles and new transform - <em>CompositeTransform</em>.</p> <p><strong>Implicit Styles</strong></p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtfTpa1sdpIYSz-DXBvcGeLER68h-y5jITbLKfbNJaQC8qJ9lVJ-CySO1Mj53N9AdFn6Cza0JPkZl-HCXs6yDs_vQBl0FkjG0NRxufSYxTASIKM6awIOSV1Af93q7KAjMou3mCLKjxmzg/s1600-h/implicit_styles_vB%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="implicit_styles_vB" border="0" alt="implicit_styles_vB" src="http://lh5.ggpht.com/_D_LHhy5fi8o/Szf2DRssylI/AAAAAAAAAig/cc2jVQMPWPs/implicit_styles_vB_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/ImplicitStyles.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links</p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a> </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a></li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/MagicMirror/MagicMirror/" href="http://channel9.msdn.com/learn/courses/Silverlight4/MagicMirror/MagicMirror/">http://channel9.msdn.com/learn/courses/Silverlight4/MagicMirror/MagicMirror/</a></li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/" href="http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/">http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/</a></li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/" href="http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/">http://channel9.msdn.com/learn/courses/Silverlight4/PicBrowser/PicBrowser/</a></li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a></li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.style(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.style(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.style(VS.96).aspx</a></li> </ul> <p><strong>CompositeTransform</strong></p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/Szf2I8iOV3I/AAAAAAAAAik/PrLPKr05waU/s1600-h/composite_transform_vB%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="composite_transform_vB" border="0" alt="composite_transform_vB" src="http://lh6.ggpht.com/_D_LHhy5fi8o/Szf2OldkEmI/AAAAAAAAAio/pvuzVXjBMLQ/composite_transform_vB_thumb%5B1%5D.png?imgmax=800" width="644" height="458" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/Transforms.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links </p> <ul> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a></li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.media.compositetransform(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.media.compositetransform(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.media.compositetransform(VS.96).aspx</a></li> <li><a title="http://adamkinney.wordpress.com/2009/11/22/compositetransform-simplifies-transforms-in-silverlight-4-beta/" href="http://adamkinney.wordpress.com/2009/11/22/compositetransform-simplifies-transforms-in-silverlight-4-beta/">http://adamkinney.wordpress.com/2009/11/22/compositetransform-simplifies-transforms-in-silverlight-4-beta/</a></li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-compositetransform.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-compositetransform.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-compositetransform.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-86356843582828482342009-12-27T19:04:00.000+01:002009-12-27T21:10:41.988+01:00New features in Silverlight 4 Beta: Out Of Browser Applications (Trusted)<p>I previously wrote a <a href="http://martinkruszynski.blogspot.com/2009/12/new-features-in-silverlight-4-beta-out.html">post</a> about new features of sandboxed out of browser applications. This post focuses on trusted applications. </p> <p>Trusted application features</p> <ul> <li>Install requires users to “trust” the application </li> <li>Group Policy support for <ul> <li>Disabling installation of Trusted Applications </li> <li>Disabling activation of Trusted Applications </li> </ul> </li> </ul> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/Sze-SpkGggI/AAAAAAAAAh8/zaEXP-iZMIc/s1600-h/trusted_01%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="trusted_01" border="0" alt="trusted_01" src="http://lh6.ggpht.com/_D_LHhy5fi8o/Sze-X2PXUwI/AAAAAAAAAiA/hSVZaLqwXyA/trusted_01_thumb%5B1%5D.png?imgmax=800" width="644" height="484" /></a></p> <ul> <li>Native Integration / COM Automation objects on Windows <ul> <li><em>ComAutomationFactory</em> </li> <li>C# 4.0 “dynamic” programming model </li> <li>Standard language feature in Visual Basic </li> <li>Automation features supported in SL 4 Beta <ul> <li>Property get/set, indexed property get/set </li> <li>Positional and optional parameters </li> <li>Support by ref and by value </li> <li>In proc and out of proc servers </li> <li>Support VARIANT, BSTR, SAFEARRAY </li> <li>Sink dispatch events with arguments </li> </ul> </li> <li>Automation features not supported in SL 4 Beta <ul> <li>Marshalling user defined types </li> <li>Multi-dimensional or jagged arrays </li> <li>Named parameters </li> <li><em>IEnumVariant</em> </li> <li>Type Information </li> </ul> </li> </ul> </li> </ul> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/Sze-gOlTlrI/AAAAAAAAAiE/W-3Kp9M0kG0/s1600-h/trusted_02%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="trusted_02" border="0" alt="trusted_02" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLCPRbV47MpyrjZqGYIMD5pMiLQRXKJe7RQRpbDVjZ60xh5iwFLL4OPmDicq-YtuTcoAEBO14Fxeme0oDpemJrEXdJjTxZ8e5ujRnSBkAwDF-FSIBh7ukIsvHl6_A4lWigpjtVHylDTo0/?imgmax=800" width="644" height="484" /></a></p> <ul> <li>File System Access <ul> <li>Folders: <em>MyDocuments</em>, <em>MyMusic</em>, <em>MyPictures</em>, <em>MyVideos</em> </li> <li>These folders are distinct from the Windows 7 Libraries </li> </ul> </li> </ul> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/Sze-0MoMlvI/AAAAAAAAAiM/PKdWqZK2Gqs/s1600-h/trusted_03%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="trusted_03" border="0" alt="trusted_03" src="http://lh4.ggpht.com/_D_LHhy5fi8o/Sze-_Deg-HI/AAAAAAAAAiQ/h66ZnUtES1Y/trusted_03_thumb%5B1%5D.png?imgmax=800" width="644" height="484" /></a></p> <ul> <li>Relax sandbox speed bumps <ul> <li>Enable cross domain HTTP networking </li> <li>Eliminate site locking for <em>WebBrowser</em> </li> <li>Full path in <em>Open</em>/<em>SaveFileDialog</em> </li> <li>Eliminate user initiation <ul> <li><em>Open</em>/<em>SaveFileDialog</em> </li> <li>Clipboard access </li> <li>Full screen mode </li> <li>Changing window settings </li> </ul> </li> <li>Enable full keyboard in full screen mode </li> </ul> </li> </ul> <p><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/Sze_G7hVs2I/AAAAAAAAAiU/DRm7UHCooEE/s1600-h/trusted_04%5B7%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="trusted_04" border="0" alt="trusted_04" src="http://lh6.ggpht.com/_D_LHhy5fi8o/Sze_Px9Dl5I/AAAAAAAAAiY/aylZuBEPVEQ/trusted_04_thumb%5B3%5D.png?imgmax=800" width="644" height="484" /></a> </p> <p></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/OutOfBrowser^_v2.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p></p> <p>Useful links</p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a>  </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a> </li> <li><a href="http://microsoftpdc.com/Sessions/CL20">http://microsoftpdc.com/Sessions/CL20</a> </li> <li><a href="http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx">http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx</a> </li> <li><a title="http://silverlight.net/learn/videos/all/com-object-access-trusted-applications/" href="http://silverlight.net/learn/videos/all/com-object-access-trusted-applications/">http://silverlight.net/learn/videos/all/com-object-access-trusted-applications/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/local-file-access/" href="http://silverlight.net/learn/videos/all/local-file-access/">http://silverlight.net/learn/videos/all/local-file-access/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/" href="http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/">http://silverlight.net/learn/videos/all/network-authentication-trusted-network-access/</a> </li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/" href="http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/">http://channel9.msdn.com/learn/courses/Silverlight4/OutOfBrowser/OutOfBrowser/</a> </li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx">http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx">http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/23/silverlight-4-grabbing-emails-from-the-outlook-inbox.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/23/silverlight-4-grabbing-emails-from-the-outlook-inbox.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/12/23/silverlight-4-grabbing-emails-from-the-outlook-inbox.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-29810652075460215182009-12-21T22:13:00.000+01:002009-12-22T09:26:52.684+01:00New features in Silverlight 4 Beta: Out Of Browser Applications (Sandboxed)<p>Out of browser applications are cool, aren’t they? In the near future I’ll write two posts about it. Today I’ll present enhancements of sandboxed applications.</p> <p>Sandboxed out of browser additions:</p> <ul> <li>Web Browser/HTML hosting <ul> <li><em>WebBrowser</em> control </li> <li><em>HtmlBrush</em> </li> </ul> </li> <li>Window settings <ul> <li>Runtime changes to <em>Height</em>/<em>Width</em> </li> <li>Specify startup location (in manifest) </li> <li>Runtime control over <em>WindowState</em> (<em>Normal</em>, <em>Minimized</em>, <em>Maximized</em>) </li> <li>Supports “TopMost” Apps (toolbar apps) </li> <li>Enable App “Activate” (<em>Normal</em> window state - bringing to front, <em>Minimized</em> - flashing the taskbar) </li> </ul> </li> <li>Toast notifications (<em>NotificationWindow</em>) </li> <li>DRM media playback </li> <li>Add/Remove Program Integration </li> </ul> <p><em>WebBrowser</em> control is cool, but it doesn’t support opacity, rotation, effects and overlaid content (Silverlight content on HTML). </p> <p><em>HtmlBrush</em> requires manual refreshing (<em>Refresh</em> method).</p> <p><em>NotificationWindow</em> also has some limitations: </p> <ul> <li>Size up to 400 x 100 </li> <li>Popup duration to 30 seconds </li> <li>Cannot set opacity and rounded corners </li> <li>Cannot launch popup windows </li> <li>Location is fixing per operating system (Windows - lower right, OS X - upper right) </li> </ul> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/SzCBxTe1WDI/AAAAAAAAAhY/VNmKsvLFv0o/s1600-h/outofbrowser_03.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="out-of-browser_0" border="0" alt="out-of-browser_0" src="http://lh6.ggpht.com/_D_LHhy5fi8o/SzCB4Ze4tBI/AAAAAAAAAhc/ouXWuuQG4CE/outofbrowser_0_thumb1.png?imgmax=800" width="644" height="484" /></a> <a href="http://lh3.ggpht.com/_D_LHhy5fi8o/SzCCBlksdFI/AAAAAAAAAhg/azAGcTToMRI/s1600-h/outofbrowser_13.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="out-of-browser_1" border="0" alt="out-of-browser_1" src="http://lh4.ggpht.com/_D_LHhy5fi8o/SzCCLr3Z5dI/AAAAAAAAAhk/yVSbkJpyMz8/outofbrowser_1_thumb1.png?imgmax=800" width="644" height="484" /></a><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/SzCCXGmt8DI/AAAAAAAAAho/jme_Ryi9rFo/s1600-h/outofbrowser_23.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="out-of-browser_2" border="0" alt="out-of-browser_2" src="http://lh4.ggpht.com/_D_LHhy5fi8o/SzCCj6-Yl3I/AAAAAAAAAhs/x0w-KLdaO0Q/outofbrowser_2_thumb1.png?imgmax=800" width="644" height="484" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/OutOfBrowser^_v1.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>You can make much more. Look at cool <a href="http://www.silverlight.net/community/samples/silverlight-4-beta/html-puzzle/">HTML Puzzle</a> example from PDC !  </p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/SzCCq0PybiI/AAAAAAAAAh0/qyKX65Bk-Uc/s1600-h/puzzles%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="puzzles" border="0" alt="puzzles" src="http://lh4.ggpht.com/_D_LHhy5fi8o/SzCCyd2Ob4I/AAAAAAAAAh4/eWou5yntlV4/puzzles_thumb%5B1%5D.png?imgmax=800" width="644" height="363" /></a></p> <p>Useful links </p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a> </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a> </li> <li><a title="http://microsoftpdc.com/Sessions/CL20" href="http://microsoftpdc.com/Sessions/CL20">http://microsoftpdc.com/Sessions/CL20</a> </li> <li><a title="http://blogs.msdn.com/jstegman/archive/2009/11/19/browserflow-sample-from-pdc-2009.aspx" href="http://blogs.msdn.com/jstegman/archive/2009/11/19/browserflow-sample-from-pdc-2009.aspx">http://blogs.msdn.com/jstegman/archive/2009/11/19/browserflow-sample-from-pdc-2009.aspx</a> </li> <li><a title="http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx" href="http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx">http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx</a> </li> <li><a href="http://microsoftpdc.com/Sessions/KEY02">http://microsoftpdc.com/Sessions/KEY02</a> </li> <li><a href="http://weblogs.asp.net/scottgu/archive/2009/12/16/silverlight-4-demos-from-my-pdc-keynote-now-available.aspx">http://weblogs.asp.net/scottgu/archive/2009/12/16/silverlight-4-demos-from-my-pdc-keynote-now-available.aspx</a> </li> <li><a title="http://johnpapa.net/silverlight/silverlight-4-html-puzzle-how-does-it-work/" href="http://johnpapa.net/silverlight/silverlight-4-html-puzzle-how-does-it-work/">http://johnpapa.net/silverlight/silverlight-4-html-puzzle-how-does-it-work/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/hosting-html-content/" href="http://silverlight.net/learn/videos/all/hosting-html-content/">http://silverlight.net/learn/videos/all/hosting-html-content/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/notification-api/" href="http://silverlight.net/learn/videos/all/notification-api/">http://silverlight.net/learn/videos/all/notification-api/</a> </li> <li><a title="http://www.85turns.com/2009/11/18/notificationwindow-silverlight-4/" href="http://www.85turns.com/2009/11/18/notificationwindow-silverlight-4/">http://www.85turns.com/2009/11/18/notificationwindow-silverlight-4/</a> </li> <li><a title="http://timheuer.com/blog/archive/2009/11/22/silverlight-4-notification-window-queue-sample.aspx" href="http://timheuer.com/blog/archive/2009/11/22/silverlight-4-notification-window-queue-sample.aspx">http://timheuer.com/blog/archive/2009/11/22/silverlight-4-notification-window-queue-sample.aspx</a> </li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx">http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.notificationwindow(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.notificationwindow(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.notificationwindow(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.window(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.window(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.window(VS.96).aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-13777288182038158272009-12-18T07:36:00.000+01:002009-12-18T09:22:28.241+01:00New features in Silverlight 4 Beta: RichTextArea Control, Right to Left Flow Direction & Text Trimming<p>Have you checked out the new cool <em>RichTextArea</em> control or <em>TextBlock</em> with trimming ? Read this post.</p> <p>The <em>RichTextArea</em> allows hyperlinks, XAML content, and embedding of images. It supports changing the font size, foreground color, and making text bold, italicized, and underlined.  Paragraph blocks allow different formatting of blocks of text. Mouse events, clipboard, undo, language localization are also supported. </p> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/Sys7XzXWaRI/AAAAAAAAAg4/wsjjgNQt8ZE/s1600-h/richtextarea_1%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="richtextarea_1" border="0" alt="richtextarea_1" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMr10xPptM3Wtlw9aOmU6avaTc8l9xEz4YVoF4eTpeHNoI4NHEFFOJ-ahSI7tlL1hhIzkFxoWLAFSY3CXwtEKnPRu-Z8V-eJT9U9iF-M_8HMiwNKBXBdrr3HmnHxByBwtn-WSqQboOLSE/?imgmax=800" width="644" height="404" /></a></p> <p>Some limitations</p> <ul> <li>UI elements and hyperlinks are active only in read-only mode. </li> <li>You can cut, copy, or paste only plain text. </li> <li>Undo is supported only if the <em>IsReadOnly</em> property is false.</li> </ul> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/Sys7e3PgVBI/AAAAAAAAAhA/iwJHfNMcBqM/s1600-h/richtextarea_3%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="richtextarea_3" border="0" alt="richtextarea_3" src="http://lh3.ggpht.com/_D_LHhy5fi8o/Sys7ipRBY3I/AAAAAAAAAhE/7vYozxAA5r0/richtextarea_3_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p>You can now set the direction of content and layout of each control to flow from right side to the left (which is useful for some languages such as Hebrew or Arabic). All <em>UIElement</em> controls inherit the <em>FlowDirection</em> from their parent except <em>Image</em>, <em>MediaElement</em>, <em>MultiScaleImage</em> and <em>Popup</em>. When brushes and effects are applied to elements whose <em>FlowDirection</em> property is set <em>RightToLeft</em>, the result is flipped horizontally.</p> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/Sys7mB0TwUI/AAAAAAAAAhI/uY5c3MqI75k/s1600-h/richtextarea_4%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="richtextarea_4" border="0" alt="richtextarea_4" src="http://lh5.ggpht.com/_D_LHhy5fi8o/Sys7qC2ViaI/AAAAAAAAAhM/UpQ9Kpm5n7o/richtextarea_4_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p>The <em>TextBlock</em> has a new <em>TextTrimming</em> property. When this property is set to <em>WordEllipsis</em> and the text in the <em>TextBlock</em> exceeds the visible limit, the text appears truncated with a trailing three ellipsis. </p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/Sys7tVuV5jI/AAAAAAAAAhQ/_nPx2nWwZDM/s1600-h/texttrimming_12%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="texttrimming_12" border="0" alt="texttrimming_12" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOcvMWAyFLIlxNq0K_t6A1LnI1fSJUgvvzd8nh6_JTgqSwZLQWXjbgoU-7wDMJpqkpBWfX-laPdIcKlRJcRXIYpM1beK6R0eIJYilGe90SurD6LqEfnVNCZX21v6GkP6u0gRoh5VB9Q4/?imgmax=800" width="644" height="291" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/TextSamples.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p align="left">Other text improvements</p> <ul> <li> <div align="left">Arabic and Hebrew Text Support</div> </li> <li> <div align="left">IME (Input Method Editors) improvements for <em>TextBox</em></div> </li> <li> <div align="left"><em>UIElement</em>: <em>TextInputStart</em>, <em>TextInputUpdate</em>, <em>TextInput</em> events</div> </li> </ul> <p>Useful links:  </p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a> </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a> </li> <li><a title="http://microsoftpdc.com/Sessions/KEY02" href="http://microsoftpdc.com/Sessions/KEY02">http://microsoftpdc.com/Sessions/KEY02</a> </li> <li><a title="http://weblogs.asp.net/scottgu/archive/2009/12/16/silverlight-4-demos-from-my-pdc-keynote-now-available.aspx" href="http://weblogs.asp.net/scottgu/archive/2009/12/16/silverlight-4-demos-from-my-pdc-keynote-now-available.aspx">http://weblogs.asp.net/scottgu/archive/2009/12/16/silverlight-4-demos-from-my-pdc-keynote-now-available.aspx</a> </li> <li><a title="http://silverlight.net/learn/videos/all/richtextarea-part-1/" href="http://silverlight.net/learn/videos/all/richtextarea-part-1/">http://silverlight.net/learn/videos/all/richtextarea-part-1/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/richtextarea-part-2/" href="http://silverlight.net/learn/videos/all/richtextarea-part-2/">http://silverlight.net/learn/videos/all/richtextarea-part-2/</a> </li> <li><a title="http://silverlight.net/learn/videos/all/bidi-right-to-left/" href="http://silverlight.net/learn/videos/all/bidi-right-to-left/">http://silverlight.net/learn/videos/all/bidi-right-to-left/</a> </li> <li><a title="http://channel9.msdn.com//learn/courses/Silverlight4/RichTextEditor/RichTextEditor/" href="http://channel9.msdn.com//learn/courses/Silverlight4/RichTextEditor/RichTextEditor/">http://channel9.msdn.com//learn/courses/Silverlight4/RichTextEditor/RichTextEditor/</a> </li> <li><a title="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/" href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a> </li> <li><a title="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/have-you-checked-out-the-new-richtextarea-control.aspx" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/have-you-checked-out-the-new-richtextarea-control.aspx">http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/have-you-checked-out-the-new-richtextarea-control.aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/ee681613(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/ee681613(VS.96).aspx">http://msdn.microsoft.com/en-us/library/ee681613(VS.96).aspx</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-textblock-with-trimming.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-textblock-with-trimming.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-textblock-with-trimming.aspx</a></li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0tag:blogger.com,1999:blog-7304085971491703521.post-81478127952379598632009-12-16T07:05:00.000+01:002009-12-16T21:17:04.535+01:00New features in Silverlight 4 Beta: Navigation Page Loading Extensibility & Data Binding Changes<p>Today I’ll show two new Silverlight 4 features: custom navigation and data binding enhancements.</p> <p><strong>Navigation Page Loading Extensibility</strong></p> <p>Now you can extend the navigation system by setting a new <em>ContentLoader</em> property of the <em>Frame</em> class to a custom <em>INavigationContentLoader</em> implementation. The default <em>ContentLoader</em> property value is an instance of the <em>PageResourceContentLoader</em> class. </p> <p><a href="http://lh6.ggpht.com/_D_LHhy5fi8o/SyiaKtyTLWI/AAAAAAAAAgY/46XxpCEvJ04/s1600-h/navigation_1%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="navigation_1" border="0" alt="navigation_1" src="http://lh4.ggpht.com/_D_LHhy5fi8o/SyiaMd4uFKI/AAAAAAAAAgc/LmrhUUwEWDE/navigation_1_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a> </p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/NavigationExtensibility.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Useful links</p> <ul> <li><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a>  </li> <li><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-taking-control-of-navigation.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-taking-control-of-navigation.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-taking-control-of-navigation.aspx</a> </li> <li><a title="http://www.davidpoll.com/2009/11/30/opening-up-silverlight-4-navigation-introduction-to-inavigationcontentloader/" href="http://www.davidpoll.com/2009/11/30/opening-up-silverlight-4-navigation-introduction-to-inavigationcontentloader/">http://www.davidpoll.com/2009/11/30/opening-up-silverlight-4-navigation-introduction-to-inavigationcontentloader/</a> </li> <li><a title="http://www.davidpoll.com/2009/12/07/opening-up-silverlight-4-navigation-event-based-and-error-handling-inavigationcontentloaders/" href="http://www.davidpoll.com/2009/12/07/opening-up-silverlight-4-navigation-event-based-and-error-handling-inavigationcontentloaders/">http://www.davidpoll.com/2009/12/07/opening-up-silverlight-4-navigation-event-based-and-error-handling-inavigationcontentloaders/</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/cc838245(VS.96).aspx#extending_the_navigation_system" href="http://msdn.microsoft.com/en-us/library/cc838245(VS.96).aspx#extending_the_navigation_system">http://msdn.microsoft.com/en-us/library/cc838245(VS.96).aspx#extending_the_navigation_system</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/system.windows.navigation.pageresourcecontentloader(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.pageresourcecontentloader(VS.96).aspx">http://msdn.microsoft.com/en-us/library/system.windows.navigation.pageresourcecontentloader(VS.96).aspx</a> </li> </ul> <p> </p> <p><strong>Data binding changes</strong></p> <p>I have made two sample applications to demonstrate new data binding features.</p> <p><u>Data Binding Sample One</u></p> <ul> <li>Validation with <em>IDataErrorInfo</em> interface (<em>ValidatesOnDataErrors</em>) </li> <li>String formatting, Null and Fallback values (<em>StringFormat</em>, <em>TargetNull</em>, <em>FallbackValue</em>) </li> <li>Databinding support for dependency objects </li> <li>Grouping on <em>CollectionViewSource</em> </li> </ul> <p><a href="http://lh3.ggpht.com/_D_LHhy5fi8o/SyiaPAVGxmI/AAAAAAAAAgg/OEmY8gtWu_I/s1600-h/binding_validation_1%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="binding_validation_1" border="0" alt="binding_validation_1" src="http://lh6.ggpht.com/_D_LHhy5fi8o/SyiaSJkVLpI/AAAAAAAAAgk/ufA-Y_kVB7s/binding_validation_1_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p><u>Data Binding Sample Two</u></p> <ul> <li>Synchronous and asynchronous validation with <em>INotifyDataErrorInfo</em> interface (<em>ValidatesOnNotifyDataErrors</em>) </li> <li><em>Command</em> property on <em>ButtonBase</em> and <em>Hyperlink</em> (in the sample: <em>Button</em>) </li> <li>Binding to string indexers </li> <li><em>SelectedValue</em> and <em>SelectedValuePath</em> on the <em>Selector</em> (in the sample: <em>ComboBox</em>) </li> </ul> <p><a href="http://lh5.ggpht.com/_D_LHhy5fi8o/SyiaUWMjbbI/AAAAAAAAAgo/K6SfzAd4TAA/s1600-h/binding_validation_2a%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="binding_validation_2a" border="0" alt="binding_validation_2a" src="http://lh4.ggpht.com/_D_LHhy5fi8o/SyiaW60ghxI/AAAAAAAAAgs/OnlzDxLujR0/binding_validation_2a_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a><a href="http://lh4.ggpht.com/_D_LHhy5fi8o/SyiaY7k0JUI/AAAAAAAAAgw/Ol8uXn6N_NE/s1600-h/binding_validation_2b%5B3%5D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="binding_validation_2b" border="0" alt="binding_validation_2b" src="http://lh5.ggpht.com/_D_LHhy5fi8o/Syiabr4uCPI/AAAAAAAAAg0/JmrtNq5nxto/binding_validation_2b_thumb%5B1%5D.png?imgmax=800" width="644" height="404" /></a></p> <p align="center"><iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-dbcaf7311f080ba2.skydrive.live.com/embedicon.aspx/Publiczny/SL4/Beta/BindingValidation.zip" frameborder="0" marginwidth="0" scrolling="no"></iframe></p> <p>Other data binding  improvements </p> <ul> <li><em>ObservableCollection<T></em> constructor that takes <em>IEnumerable</em> or <em>IList</em> </li> <li><em>IEditableCollectionView</em> (for example <em>PagedCollectionView</em>) </li> </ul> <p align="left">Useful links</p> <ul> <li> <div align="left"><a href="http://microsoftpdc.com/Sessions/P09-11">http://microsoftpdc.com/Sessions/P09-11</a> </div> </li> <li> <div align="left"><a href="http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/">http://scorbs.com/2009/11/19/pdc-session-silverlight-4-beta-overview/</a></div> </li> <li> <div align="left"><a title="http://microsoftpdc.com/Sessions/CL19" href="http://microsoftpdc.com/Sessions/CL19">http://microsoftpdc.com/Sessions/CL19</a></div> </li> <li> <div align="left"><a title="http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/" href="http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/">http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/</a></div> </li> <li> <div align="left"><a title="http://silverlight.net/learn/videos/all/asynchronous-data-validation/" href="http://silverlight.net/learn/videos/all/asynchronous-data-validation/">http://silverlight.net/learn/videos/all/asynchronous-data-validation/</a></div> </li> <li> <div align="left"><a title="http://channel9.msdn.com/learn/courses/Silverlight4/EmployeeManager/EmployeeManager/" href="http://channel9.msdn.com/learn/courses/Silverlight4/EmployeeManager/EmployeeManager/">http://channel9.msdn.com/learn/courses/Silverlight4/EmployeeManager/EmployeeManager/</a></div> </li> <li> <div align="left"><a title="http://www.silverlightshow.net/items/Developing-applications-gets-easy-with-improved-DataBinding-in-Silverlight-4.aspx" href="http://www.silverlightshow.net/items/Developing-applications-gets-easy-with-improved-DataBinding-in-Silverlight-4.aspx">http://www.silverlightshow.net/items/Developing-applications-gets-easy-with-improved-DataBinding-in-Silverlight-4.aspx</a></div> </li> <li> <div align="left"><a title="http://wildermuth.com/2009/11/18/Data_Binding_Changes_in_Silverlight_4" href="http://wildermuth.com/2009/11/18/Data_Binding_Changes_in_Silverlight_4">http://wildermuth.com/2009/11/18/Data_Binding_Changes_in_Silverlight_4</a></div> </li> <li><a href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/">http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/</a> </li> <li><a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-selectedvalue.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-selectedvalue.aspx">http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-selectedvalue.aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/cc278072(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/cc278072(VS.96).aspx">http://msdn.microsoft.com/en-us/library/cc278072(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/cc189022(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/cc189022(VS.96).aspx">http://msdn.microsoft.com/en-us/library/cc189022(VS.96).aspx</a> </li> <li><a title="http://msdn.microsoft.com/en-us/library/cc645024(VS.96).aspx" href="http://msdn.microsoft.com/en-us/library/cc645024(VS.96).aspx">http://msdn.microsoft.com/en-us/library/cc645024(VS.96).aspx</a> </li> </ul> Martin Kruszyńskihttp://www.blogger.com/profile/11714890098000844721noreply@blogger.com0