<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Charlie Calvert's Community Blog : WPF</title><link>http://blogs.msdn.com/charlie/archive/tags/WPF/default.aspx</link><description>Tags: WPF</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>MSDN Event: Fundamentals of WPF &amp; WPF in the Real World</title><link>http://blogs.msdn.com/charlie/archive/2009/08/24/msdn-event-fundamentals-of-wpf-wpf-in-the-real-world.aspx</link><pubDate>Mon, 24 Aug 2009 21:26:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9882865</guid><dc:creator>Charlie Calvert</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/charlie/comments/9882865.aspx</comments><wfw:commentRss>http://blogs.msdn.com/charlie/commentrss.aspx?PostID=9882865</wfw:commentRss><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/"&gt;MSDN Events&lt;/a&gt; will host Paul Sheriff in two free half day events in Southern California. He first talk is on the &lt;strong&gt;Fundamentals of WPF. &lt;/strong&gt;It covers basic WPF concepts and working with data. Technologies discussed in the talk include working with combo boxes, list boxes, and list views. His second talk, &lt;strong&gt;WPF in the Real World&lt;/strong&gt;, is designed to help people move from Windows Forms to WPF. Topics covered included toolbars, status bars and other features commonly found in Windows Forms applications. Business developers looking for best practices for developing applications will find this talk helpful.&lt;/p&gt;  &lt;h2&gt;Details&lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;ORANGE COUNTY (IRVINE) &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Fundamentals of WPF    &lt;br /&gt;August 24, 2009     &lt;br /&gt;1:00 pm - 5:00 pm     &lt;br /&gt;&lt;a href="http://rs6.net/tn.jsp?et=1102679955361&amp;amp;s=4079&amp;amp;e=001THBI0jDrjzj_-OpGQ92p0J_R8HgQB1oDwLN3gdOQvhTi_PzKyjQAS5410vGpHWSJl6ezs4Dg0FR1jr__wGxFeHo8JC9FEbfm4Pyg_H0ymbSfwdiLI4n8xWPo5qDsaXGzh4yEPnzZXwFNp7FHWGNKKC4kRtrr1iDiguMCIRtAX-BFHeBkyb7M2hpQp3vxcNAoqxdFz_Lvpes="&gt;Click here to register&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;Event ID&lt;/strong&gt;: 1032421370     &lt;br /&gt;WPF in the Real World     &lt;br /&gt;August 25, 2009     &lt;br /&gt;1:00 pm - 5:00 pm     &lt;br /&gt;&lt;a href="http://rs6.net/tn.jsp?et=1102679955361&amp;amp;s=4079&amp;amp;e=001THBI0jDrjzj4w83eyJc7hMHb38z_kkbf02J_qazY2jGJimUgV-b9-Zq75mNcWjYamDLDL2_kcyxL3NZKcp8cr37wLXcMPPovWwYVpAb6ygUUXJ-l8DL9F09XN4eZ10iW5GJ7d2OlvTb0LYcqMxEFYOEtEfFnK8pYg3iMBzljB6XxDZRP_cO9Pe_VPtrMKtMIUWF6yMbvx9o="&gt;Click here to register&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;Event ID&lt;/strong&gt;: 1032421372 &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;San Diego&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Fundamentals of WPF    &lt;br /&gt;August 24, 2009     &lt;br /&gt;1:00 pm - 5:00 pm     &lt;br /&gt;&lt;a href="http://rs6.net/tn.jsp?et=1102679955361&amp;amp;s=4079&amp;amp;e=001THBI0jDrjzgck4Sx3HFn3LO0GNl0Nt_iA8CE7D3nT3x3Iot02SrvmKogN1vIVSC_uRYIo_xK4IGjmTT3pUh8ipEJOyWSUoY6BCW1Daugs9IrzthGsOWNN7rY_JGJ9avzgrJfkD6rQyjjEl2fhNVVV7YpWCh7hRi7b7gGsiXsArTg_e8Uzq6IDAt-H7ghmCMRBXfCyb1nvgs="&gt;Click here to register&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;Event ID&lt;/strong&gt;: 1032421585     &lt;br /&gt;WPF in the Real World     &lt;br /&gt;August 25, 2009     &lt;br /&gt;1:00 pm - 5:00 pm     &lt;br /&gt;&lt;a href="http://rs6.net/tn.jsp?et=1102679955361&amp;amp;s=4079&amp;amp;e=001THBI0jDrjzjo-mODOU0OsooBZlnJ9MJtonfsCd2HRXRPbcBUd8-FnoNofSGWibLmf-3eqd_kvVmWAuTecFBCTweTQUR1k9Ft-Grsra_lmzgg9ZcbRtofl3Lt-GaNdhIiAdx60E3B6SLoKQu9zpAMcfgc4Zf3KaU5CrkjGZLT6_DA3B--e1R_smurWus25AZBOBFs8DS3-KE="&gt;Click here to register&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;Event ID&lt;/strong&gt;: 1032421584&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To Register by Phone call 1.877.MSEVENT (1.877.673.8368).&lt;/p&gt; &lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2fcharlie%2farchive%2f2009%2f08%2f24%2fmsdn-event-fundamentals-of-wpf-wpf-in-the-real-world.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2fcharlie%2farchive%2f2009%2f08%2f24%2fmsdn-event-fundamentals-of-wpf-wpf-in-the-real-world.aspx" /&gt;&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9882865" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/charlie/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/charlie/archive/tags/WPF/default.aspx">WPF</category></item><item><title>WPF Farm: Simple WPF</title><link>http://blogs.msdn.com/charlie/archive/2008/06/14/wpf-farm-simple-wpf.aspx</link><pubDate>Sat, 14 Jun 2008 10:09:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8596421</guid><dc:creator>Charlie Calvert</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/charlie/comments/8596421.aspx</comments><wfw:commentRss>http://blogs.msdn.com/charlie/commentrss.aspx?PostID=8596421</wfw:commentRss><description>&lt;p&gt;It can be helpful to start from the beginning when working with new technologies. This post explains how to create a minimal WPF application that produces a single window with a gradient in it, as shown in Figure 1. The point of this exercise is to build the app from scratch, choosing &lt;strong&gt;File | New Project | Empty Project&lt;/strong&gt; rather than &lt;strong&gt;File | New Project | WPF Application&lt;/strong&gt;. The benefit of this exercise is to simply see what ingredients go into the production of a minimal WPF program.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="264" alt="AColorfulWpfWindow" src="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/WPFFarmSimpleWPF_14BC9/AColorfulWpfWindow_3.png" width="324" border="0"&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Figure 1: A Simple WPF window with a gradient.&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Begin by choosing&lt;strong&gt; File | New Project | Empty Project&lt;/strong&gt; from the Visual Studio 2008 menu.  &lt;li&gt;Choose &lt;strong&gt;Project | Add Class&lt;/strong&gt; from the menu and add a new C# class called &lt;strong&gt;Program&lt;/strong&gt;.  &lt;li&gt;Right click on the References section in the Solution Explorer and remove &lt;strong&gt;System.Data&lt;/strong&gt; and &lt;strong&gt;System.Xml, &lt;/strong&gt;but leave &lt;strong&gt;System.&lt;/strong&gt; Add the following References as shown in Figure 2:  &lt;ol&gt; &lt;li&gt;&lt;strong&gt;PresentationCore&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;PresentationFramework&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;WindowBase&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Remove &lt;strong&gt;System.Linq&lt;/strong&gt; and add the following to the program's using statements  &lt;ol&gt; &lt;li&gt;&lt;strong&gt;System.Windows&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;System.Windows.Media&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Use the svm &lt;a href="http://blogs.msdn.com/charlie/archive/2006/10/25/snippets-n-xml.aspx"&gt;snippet&lt;/a&gt; to add a Main method to your code and use the ctor snippet to add a constructor to your code  &lt;ol&gt; &lt;li&gt;Put the [STAThread] attribute above the main method&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Fill in the main method and the constructor as shown in Figure 1  &lt;li&gt;Select from the menu &lt;strong&gt;Project | Project Properties&lt;/strong&gt; and set the output type to Windows Application  &lt;li&gt;Have class Program derive from class &lt;strong&gt;Window&lt;/strong&gt;  &lt;ol&gt; &lt;li&gt;&lt;strong&gt;class Program: Window&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Optionally right click on the editor and choose &lt;strong&gt;Organize Usings | Remove and Sort&lt;/strong&gt; from the menu  &lt;li&gt;Press F5 to run the program. You should see the window shown in Figure 1.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/WPFFarmSimpleWPF_14BC9/References_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="224" alt="References" src="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/WPFFarmSimpleWPF_14BC9/References_thumb.png" width="296" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Figure 2: The References section from the SimpleWpf project.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The complete source code to this project is shown in Listing 1. You can see that an &lt;strong&gt;Application&lt;/strong&gt; object is created in the &lt;strong&gt;Main&lt;/strong&gt; method, and that a few minimal fields of the window are filled out in the constructor. I also create a WPF &lt;strong&gt;LinearGradientBrush&lt;/strong&gt; and set it as the &lt;strong&gt;Background&lt;/strong&gt; for the window.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Windows;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Windows.Media;

&lt;span style="color: rgb(0,0,255)"&gt;namespace&lt;/span&gt; Project1
{
    &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Program&lt;/span&gt;: &lt;span style="color: rgb(43,145,175)"&gt;Window
&lt;/span&gt;    {
        [&lt;span style="color: rgb(43,145,175)"&gt;STAThread&lt;/span&gt;]
        &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Main(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: rgb(43,145,175)"&gt;Application&lt;/span&gt; application = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Application&lt;/span&gt;();
            application.Run(&lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Program&lt;/span&gt;());
        }

        &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; Program()
        {
            Width = 320;
            Height = 260;
            Title = &lt;span style="color: rgb(163,21,21)"&gt;"A Colorful Window"&lt;/span&gt;;
            Background = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;LinearGradientBrush&lt;/span&gt;(&lt;span style="color: rgb(43,145,175)"&gt;Colors&lt;/span&gt;.AliceBlue, &lt;span style="color: rgb(43,145,175)"&gt;Colors&lt;/span&gt;.Aquamarine,
                &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Point&lt;/span&gt;(0, 0), &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Point&lt;/span&gt;(1, 1));   
        }
    }
}&lt;/pre&gt;
&lt;p&gt;I should perhaps end by reminding you that the simplest way to create a WPF application in Visual Studio is to choose &lt;strong&gt;File | New Project | WPF Application&lt;/strong&gt;. I have shown you this alternative technique simply because I hope you find it interesting or entertaining. It also illustrates that it is possible, though not necessarily recommended, to build WPF applications without using XAML.
&lt;/p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;The complete Source is on my &lt;a href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=linqfarm&amp;amp;ReleaseId=81"&gt;LINQ Farm&lt;/a&gt;. Here is direct link to the &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=linqfarm&amp;amp;DownloadId=2335"&gt;download&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2fcharlie%2farchive%2f2008%2f06%2f14%2fwpf-farm-simple-wpf.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2fcharlie%2farchive%2f2008%2f06%2f14%2fwpf-farm-simple-wpf.aspx" border="0"&gt;&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8596421" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/charlie/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://blogs.msdn.com/charlie/archive/tags/WPF/default.aspx">WPF</category></item></channel></rss>