<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Yan Wang's Blog : WPF</title><link>http://blogs.technet.com/yanwang/archive/tags/WPF/default.aspx</link><description>Tags: WPF</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Eallies OA Solution Kit</title><link>http://blogs.technet.com/yanwang/archive/2008/12/29/eallies-oa-solution-kit.aspx</link><pubDate>Mon, 29 Dec 2008 14:18:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3174331</guid><dc:creator>yanwang</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/yanwang/comments/3174331.aspx</comments><wfw:commentRss>http://blogs.technet.com/yanwang/commentrss.aspx?PostID=3174331</wfw:commentRss><description>&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; FONT-SIZE: 11pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;Ø&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial; mso-ansi-language: EN; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN&gt;Key Technologies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 11pt; mso-bidi-font-family: Arial; mso-ansi-language: EN; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=ZH-CN&gt;：&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;WPF + WCF + WF + LINQ&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-ansi-language: EN" lang=EN&gt;&lt;SPAN style="mso-list: Ignore"&gt;Ø&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial; mso-ansi-language: EN; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN&gt;Typical adoption scenario:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN" lang=EN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 1.25in; mso-list: l0 level2 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;Describe how to integrate latest .Net Framework 3.0/3.5 to develop complex distributed system with a typical OA Leave Review scenario. The related technology includes WPF&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=ZH-CN&gt;、&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;WCF&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=ZH-CN&gt;、&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;WF&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=ZH-CN&gt;、&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;LINQ etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 1.25in; mso-list: l0 level2 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;How to distribute project tasks and develop projects via integrated team work among several project roles such as DBA Developer,Business Developer,Workflow developer, UI Designer etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 1.25in; mso-list: l0 level2 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial"&gt;Provide Code Auto-Generator Tool (Refer Eallies .Utilities) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.75in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: Arial; mso-ansi-language: EN; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN&gt;F&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN&gt;or more detailed solution information such as&amp;nbsp;Source Code &amp;amp; scenario interpretation/Screenshot(In Chinese)&amp;nbsp;pls download from&amp;nbsp;&lt;A href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/Public/OA.rar" mce_href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/Public/OA.rar"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;here&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H2&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3174331" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/yanwang/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.technet.com/yanwang/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.technet.com/yanwang/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.technet.com/yanwang/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>WPF Virtual Earth Solution Kit</title><link>http://blogs.technet.com/yanwang/archive/2008/10/19/wpf-virtual-earth-solution-kit.aspx</link><pubDate>Sun, 19 Oct 2008 10:51:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3138695</guid><dc:creator>yanwang</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/yanwang/comments/3138695.aspx</comments><wfw:commentRss>http://blogs.technet.com/yanwang/commentrss.aspx?PostID=3138695</wfw:commentRss><description>&lt;H2 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;Ø&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体"&gt;Key Technologies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; COLOR: windowtext; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial" lang=ZH-CN&gt;：&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;WPF+Virtual Earth Map Control+ADO.Net Data Service+LINQ To SQL&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体"&gt; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H1 style="TEXT-INDENT: 0in; MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;H1 style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;Ø&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体"&gt;Typical adoption scenario:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;Develop Virtual Earth Application under WPF framework&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 12.0pt" lang=ZH-CN&gt;，&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;such as Add Pushpin on the map for saving &amp;amp; fetching. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;Use WPF Web Browser XAML Control to embed existing Virtual Earth Web Form,prevent the complexity from writing Virtual Earth Map Control WPF Wrapper . &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;Save Map Pushpin information to SQL2008 Geography Data Type via LINQ to SQL, then query the data via ADO.Net Data Services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;ü&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;Virtual Earth SDK Java Scripts call AJAX-Enabled WCF Service&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 12.0pt" lang=ZH-CN&gt;（&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;Refer &lt;A href="http://msdn.microsoft.com/en-us/library/bb412167.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb412167.aspx"&gt;Creating WCF Services for ASP.NET AJAX&lt;/A&gt; &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 宋体; COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 12.0pt" lang=ZH-CN&gt;）&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For more detailed solution information such as Source Code &amp;amp; Scenario interpretation (in Chinese) pls download &lt;A href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/Public/WPFVEKit.rar" mce_href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/Public/WPFVEKit.rar"&gt;here&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3138695" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/yanwang/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.technet.com/yanwang/archive/tags/LINQ+To+SQL/default.aspx">LINQ To SQL</category><category domain="http://blogs.technet.com/yanwang/archive/tags/ADO.Net+Data+Service/default.aspx">ADO.Net Data Service</category><category domain="http://blogs.technet.com/yanwang/archive/tags/Virtual+Earth+Map+Control/default.aspx">Virtual Earth Map Control</category></item><item><title>A sample solution kit to demonstrate WPF &amp; SQL Server Data Services Technologies-Part 2</title><link>http://blogs.technet.com/yanwang/archive/2008/09/10/a-sample-solution-kit-to-demonstrate-wpf-sql-server-data-services-technologies-part-2.aspx</link><pubDate>Wed, 10 Sep 2008 05:18:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3121755</guid><dc:creator>yanwang</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/yanwang/comments/3121755.aspx</comments><wfw:commentRss>http://blogs.technet.com/yanwang/commentrss.aspx?PostID=3121755</wfw:commentRss><description>&lt;P&gt;&lt;FONT size=4&gt;&lt;U&gt;The&amp;nbsp;&lt;STRONG&gt;WCFServicesAgent &lt;/STRONG&gt;Project has 2 functionalities:&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;1.Act as &amp;nbsp;proxy client for Workshop Service which has exposed below two&amp;nbsp; methods:-&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[OperationContract]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Entity&amp;gt; &lt;STRONG&gt;QuEntityList&lt;/STRONG&gt;(string kind);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;[OperationContract]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompositeType&amp;nbsp; &lt;STRONG&gt;GetBlob&lt;/STRONG&gt;(string entityid, string accepttype);&lt;/P&gt;
&lt;P&gt;-----------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;Xmlhelper.cs&lt;/STRONG&gt; class : this is&amp;nbsp; to fetch workshop data from SSDS and cache in client local file folder c:\workshopdata, it has implemented below 2 methods:-&lt;/P&gt;
&lt;P&gt;public static bool CreatXml_WSList(string _savePath){}&lt;BR&gt;public static bool CreatXml_WSData(string _path, string _key)&lt;/P&gt;
&lt;P&gt;So, by default, &lt;STRONG&gt;DPEMS &lt;/STRONG&gt;Project will access the workshop data from local file&amp;nbsp;cache instead of SSDS for most efficiency. To refresh the local cache, you can open &lt;STRONG&gt;Main.Xaml.cs&lt;/STRONG&gt; of &lt;STRONG&gt;DPEMS Project&amp;nbsp;&lt;/STRONG&gt;and&amp;nbsp;uncomment&amp;nbsp;below code line in&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;Function MainGrid_Loaded()&lt;/STRONG&gt; :&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;private void MainGrid_Loaded(object sender, RoutedEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable here to refresh workshop data from SSDS&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCFServicesAgent.Xmlhelper.CreatXml_WSList("c:\\");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // WCFServicesAgent.Xmlhelper.CreatXml_WSData( "c:\\WorkShopData\\", "Pic");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // WCFServicesAgent.Xmlhelper.CreatXml_WSData("c:\\WorkShopData\\", "Doc");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // WCFServicesAgent.Xmlhelper.CreatXml_WSData("c:\\WorkShopData\\", "Video");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT size=3&gt;The Client Project &lt;STRONG&gt;DPEMS &lt;/STRONG&gt;is architected via &lt;/FONT&gt;&lt;/U&gt;&lt;A title="Composite Application for WPF Patterns" href="http://msdn.microsoft.com/en-us/magazine/cc785479.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc785479.aspx"&gt;&lt;FONT size=3&gt;Composite Application for WPF Patterns&lt;/FONT&gt;&lt;/A&gt;&lt;U&gt;&lt;FONT size=3&gt;&amp;nbsp;,&lt;/FONT&gt;&lt;/U&gt; &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 600px; HEIGHT: 503px" src="http://byfiles.storage.live.com/y1pPNy-lVx4ahx0qyUoC4dUwrVw1-Tb_746YBjRtMUaCXEUnF8sipSWR6VVmNyhOesbsdb5vXy5xkI3MeKFPVLMCA" width=600 height=503 mce_src="http://byfiles.storage.live.com/y1pPNy-lVx4ahx0qyUoC4dUwrVw1-Tb_746YBjRtMUaCXEUnF8sipSWR6VVmNyhOesbsdb5vXy5xkI3MeKFPVLMCA"&gt;&lt;/P&gt;
&lt;P&gt;Figure1. Composite Application for WPF&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It&amp;nbsp;mainly exposed two patterns:-&lt;/P&gt;
&lt;P&gt;1. The &lt;STRONG&gt;Model-View-Presenter&lt;/STRONG&gt; Pattern: Each Module&amp;nbsp;has MVP implemented.&amp;nbsp;Take a look at&amp;nbsp;&lt;STRONG&gt;WorkshopModule&amp;nbsp;&lt;/STRONG&gt;Project&amp;nbsp;,each view file has a corresponding presenter file. e.g. &lt;STRONG&gt;WorkShopMain.xaml&lt;/STRONG&gt;&amp;nbsp;contains XAML UI Interface while&amp;nbsp; &lt;STRONG&gt;WorkShopMainPresenter.cs&lt;/STRONG&gt;&amp;nbsp;handles XAML user event &amp;amp; business logic to process model.&amp;nbsp;&amp;nbsp;Also, all domain entity classes are in &lt;STRONG&gt;Model &lt;/STRONG&gt;folder.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 460px; HEIGHT: 716px" title="Solution Structure" alt="Solution Structure" src="http://akqypg.bay.livefilestore.com/y1ptWl2sEyY26BmjeJJthT0x4T2-4dmwyPUvg0R69k1gehnbPL0gMt-Xpmymk1ESs2Ux0hNeGwGnE90fFcW85mBmA" width=546 height=822 mce_src="http://akqypg.bay.livefilestore.com/y1ptWl2sEyY26BmjeJJthT0x4T2-4dmwyPUvg0R69k1gehnbPL0gMt-Xpmymk1ESs2Ux0hNeGwGnE90fFcW85mBmA"&gt;&lt;/P&gt;
&lt;P&gt;Figure 2. Project structure &lt;/P&gt;
&lt;P mce_keep="true"&gt;2.The &lt;STRONG&gt;Modularity &lt;/STRONG&gt;Pattern:&amp;nbsp; Each WPF Modules such as &lt;STRONG&gt;WorkshopModule&lt;/STRONG&gt;,&lt;STRONG&gt;ISVExplorerModule&lt;/STRONG&gt; is a separate WPF Project , and the main client project &lt;STRONG&gt;DPEMS &lt;/STRONG&gt;contains a Shell XAML file - the &lt;STRONG&gt;Main.xaml &lt;/STRONG&gt;file&lt;STRONG&gt; &lt;/STRONG&gt;which will assemble all WPF modules. It's mainly&amp;nbsp;done via&amp;nbsp; &lt;A title=Regions href="http://msdn.microsoft.com/en-us/library/cc707906.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc707906.aspx"&gt;Prism&amp;nbsp;Regions&lt;/A&gt;&amp;nbsp;concept. The related XAML snippet is as below:-&lt;/P&gt;
&lt;P mce_keep="true"&gt;----------------------------------&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;lt;ItemsControl cal:RegionManager.RegionName="WorkShopRegion" Panel.ZIndex="0"&amp;nbsp;&amp;nbsp; Width="auto" /&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;ItemsControl cal:RegionManager.RegionName="ISVExplorRegion" x:Name="ISVExplorRegion"&amp;nbsp;&amp;nbsp; Width="auto"&amp;nbsp; &amp;nbsp;Visibility="Hidden" &amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;-----------------------------&lt;/P&gt;
&lt;P mce_keep="true"&gt;In each Module Project, there will be a Class&amp;nbsp;file&amp;nbsp;inheriting &lt;STRONG&gt;Microsoft.Practices.Composite.ModularityIModule &lt;/STRONG&gt;interface to add the Module XAML view to Shell when module is initialized. e.g.&lt;STRONG&gt;WorkShopModule.cs&lt;/STRONG&gt; is like below:-&lt;/P&gt;
&lt;P mce_keep="true"&gt;---------------------&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;public class WorkShopModule:IModule&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public IRegionManager RegionManager { get; private set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public WorkShopModule(IRegionManager regionManager)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.RegionManager = regionManager;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Initialize()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRegion mainRegion = this.RegionManager.Regions["WorkShopRegion"];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkShopMain view = new WorkShopMain();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mainRegion.Add(view);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mainRegion.Activate(view);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;-------------------------------------&lt;/P&gt;
&lt;P mce_keep="true"&gt;Note that we also have 3 separate projects for reusable WPF controls, they are &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;crfly.PhotoBookControl project&lt;/STRONG&gt;- the WPF control to animate paging-up-down effect of Albums.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Kiosk.Controls.VolumeChart project&lt;/STRONG&gt;-WPF Chart control&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;WpfVirtualEarthControl Project&lt;/STRONG&gt; - WPF Virtual Earth control&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 396px; HEIGHT: 322px" title=Album alt=Album src="http://byfiles.storage.live.com/y1pTEszRsqxHV67quBHqUnNmJAY5DkJ9ZIn9Wx4SbD7wr_B2NOvTRzC3bTJrTqE5yyL3LtMa0-XjO4" width=479 height=385 mce_src="http://byfiles.storage.live.com/y1pTEszRsqxHV67quBHqUnNmJAY5DkJ9ZIn9Wx4SbD7wr_B2NOvTRzC3bTJrTqE5yyL3LtMa0-XjO4"&gt;&lt;IMG style="WIDTH: 380px; HEIGHT: 331px" title="Chart " alt="Chart " src="http://byfiles.storage.live.com/y1p8ut1v44VLu6tZJpUBzzhB2XUmYMwyKN9_20L795toxjAE6ee7QAdBVQzijdE-VhWx56z3XBSpKc" width=487 height=389 mce_src="http://byfiles.storage.live.com/y1p8ut1v44VLu6tZJpUBzzhB2XUmYMwyKN9_20L795toxjAE6ee7QAdBVQzijdE-VhWx56z3XBSpKc"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Figure 3:Album Animation&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Figure4: Main Dashboard for Workshop Module including Chart&amp;nbsp; WPF control&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 410px; HEIGHT: 285px" title="Virtual Earth " alt="Virtual Earth " src="http://byfiles.storage.live.com/y1pyuYRo9ZGfA3_PU6RE0t4ryOLp7v7ALTPfhgH8X-wJqo2mKO9X8yJfBxjUNQ0JSkjEQ2g1zPvYMY" width=533 height=400 mce_src="http://byfiles.storage.live.com/y1pyuYRo9ZGfA3_PU6RE0t4ryOLp7v7ALTPfhgH8X-wJqo2mKO9X8yJfBxjUNQ0JSkjEQ2g1zPvYMY"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Figure 5: Main Dashboard for ISVExplorer module including VirtualEarth WPF Control&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now, we've finished all introduction of this solution kit, you can download source code of this solution from &lt;A title="source code" href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/BlogAttachment/WorkshopKit%7C_V1.rar" mce_href="http://cid-3454e46ce755f688.skydrive.live.com/self.aspx/BlogAttachment/WorkshopKit|_V1.rar"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3121755" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/yanwang/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.technet.com/yanwang/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.technet.com/yanwang/archive/tags/Composite+Application+for+WPF/default.aspx">Composite Application for WPF</category></item></channel></rss>