<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Windows Presentation Foundation</title><link>http://blogs.interknowlogy.com/adamcalderon/category/93.aspx</link><description>Interesting tidbids that cover WPF</description><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.111</generator><item><dc:creator>Adam Calderon</dc:creator><title>Introduction to WPF Data Binding</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2007/07/03/20510.aspx</link><pubDate>Tue, 03 Jul 2007 15:03:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2007/07/03/20510.aspx</guid><description>&lt;p&gt;Here are the slides and demo application for my Introduction to WPF Data Binding presentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/An_20Introduction_20to_20Data_20Binding_20in_20WPF.ppt"&gt;File Attachment: An Introduction to Data Binding in WPF.ppt (2891 KB)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/DataBindingDemo.zip"&gt;File Attachment: DataBindingDemo.zip (578 KB)&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/20510.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>Introduction to WPF Styles Presentation</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2007/07/03/20509.aspx</link><pubDate>Tue, 03 Jul 2007 15:01:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2007/07/03/20509.aspx</guid><description>&lt;p&gt;Here are my slides and demo application for my Introduction to WPF Styles presentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/An_20Introduction_20to_20Styles_20and_20Templates_20in_20WPF.ppt"&gt;File Attachment: An Introduction to Styles and Templates in WPF.ppt (2062 KB)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/StylesDemo.zip"&gt;File Attachment: StylesDemo.zip (176 KB)&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/20509.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>Why do I need to know XAML</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/07/9365.aspx</link><pubDate>Thu, 07 Dec 2006 13:56:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/07/9365.aspx</guid><description>&lt;p&gt;For the last six months or so I have been interacting a lot with other developers through webcasts and my WPF class. Time and time again I am asked &amp;ldquo;why do you concentrate on XAML and not use the wizards&amp;rdquo;. Well first it&amp;rsquo;s because the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;amp;displaylang=en"&gt;Visual Studio Extensions for WPF&lt;/a&gt;&amp;nbsp;are really not there yet but more importantly is because you need to know it. &lt;/p&gt;
&lt;p&gt;If you think about how you are going to develop WPF applications you will realize you are going to use some tool to assist you in the process. Most of the tools in the marketplace all emit XAML&amp;nbsp;when it comes to designing the UI and if you either use a tool to create a UI snippet or you get one off the Internet you will inevitably need to modify it. Without knowledge of XAML you are going to be lost. Think about HTML and the designers for it. They all emit HTML but you still find yourself working with HTML one way or another.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;So how do you work your way through the maze of XAML and what to do with it? I would suggest reading &lt;a href="http://msdn2.microsoft.com/en-us/library/ms752059.aspx"&gt;XAML Overview&lt;/a&gt;&amp;nbsp;in the SDK. It has quite a few nice sections on what it is and how it works. The next thing you can do is download some samples from &lt;a href="http://wpf.netfx3.com/"&gt;WPF on .NET FX&lt;/a&gt;&amp;nbsp;and see how elements are put together.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/9365.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>WPF Features Demo Application</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/05/9345.aspx</link><pubDate>Tue, 05 Dec 2006 16:10:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/05/9345.aspx</guid><description>&lt;p&gt;This blog will detail an application I created that mimics something you would do in WinForms 2.0 today. The application does not have a lot of styling in it and mainly centers around data binding, commands, events and the like. I am starting to work on another version of this application that does have a lot of styling to it using Interactive Designer but that will be a little ways off. So for now you get this very standard user interface that has a strong emphasis on some of the lower level aspects of WPF.&lt;/p&gt;
&lt;p&gt;The premise of the application is an HR application that allows the user to enter new employees with their employment history, certifications they have obtained and&amp;nbsp;the industries they have experience in. The application also enables the user to add expense entries for an employee.&lt;/p&gt;
&lt;p&gt;The application is broken into two parts with a data layer containing the classes that implement INotifiyPropertyChange and ObservableCollection (IKHrData project)&amp;nbsp;and a presentation layer containing pages, data templates and styles (IKHrDemo project).&lt;/p&gt;
&lt;p&gt;The IKHrData project contains many ObservableCollections of business objects that support INotifyPropertyChange. The implementation of this interface allows the business objects to work with the UI Elements in a TwoWay binding mode and the use of the ObservableCollection containing the business objects allows for binding to lists.&lt;/p&gt;
&lt;p&gt;The IKHrDemo project contains all of the pages, data templates and styles. The App.xx files contains the global data used by all of the pages in the application and the styles that contain the styles for grids that are used on the pages. The EmployeeInformation.xx files contain the&amp;nbsp;page that is&amp;nbsp;the source for the frame that is inside of the Employee Information tab on the main page. The&amp;nbsp;ExpenseList.xx file contains the page that is the source for the frame that is inside of the Employee Expenses tab on the main page. The EmployeeList.xx file is where you can filter the employee list and select an employee to view. In all of these file data templates are used heavily to present the data. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/IKHRDemoSolution.zip"&gt;File Attachment: IKHRDemoSolution.zip (7208 KB)&lt;/a&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/IKHRDemoSolution.zip"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To learn more about the concepts in this application I have listed a series of webcasts I have done and the technologies they introduce. This application has been referenced in many of them.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032307159%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;An Introduction to Styles and Templates in Windows Presentation Foundation (WPF)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032313139%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;Windows Presentation Foundation Layout and Controls &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032313141%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;Windows Presentation Foundation Properties, Events and Commands &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032313158%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;Windows Presentation Foundation Data Binding (Part 1 of 2) &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032313161%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;Windows Presentation Foundation Data Binding (Part 2 of 2)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/9345.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>MSDN Webcast: Windows Presentation Data Binding Part 2 of 2</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/05/9341.aspx</link><pubDate>Tue, 05 Dec 2006 09:18:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/12/05/9341.aspx</guid><description>&lt;p&gt;Here are the code samples for the presentation I did last Friday.&lt;/p&gt;
&lt;p&gt;This is the sample that covers INotifiyPropertyChange and ObjectDataSource&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/NotifyPropertyChangedSample.zip"&gt;File Attachment: NotifyPropertyChangedSample.zip (51 KB)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is the sample that covers an XmlDataSource&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/Xml_DataSourceSample.zip"&gt;File Attachment: Xml_DataSourceSample.zip (10 KB)&lt;/a&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/Xml_DataSourceSample.zip"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This&amp;nbsp;is the sample that covers using ADO.NET&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/DataSet_SQLDataSourceSample.zip"&gt;File Attachment: DataSet_SQLDataSourceSample.zip (41 KB)&lt;/a&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/DataSet_SQLDataSourceSample.zip"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is the sample that covers a CollectionView&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/CollectionViewSample.zip"&gt;File Attachment: CollectionViewSample.zip (43 KB)&lt;/a&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/CollectionViewSample.zip"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is the sample that covers a CollectionViewSource&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/CollectionViewSourceSample.zip"&gt;File Attachment: CollectionViewSourceSample.zip (36 KB)&lt;/a&gt;&lt;a href="http://blogs.interknowlogy.com/downlaods/adamcalderon/CollectionViewSourceSample.zip"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/9341.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>WPF Application Class</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/09/09/4378.aspx</link><pubDate>Sat, 09 Sep 2006 17:06:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/09/09/4378.aspx</guid><description>&lt;p&gt;The deeper I dive into WPF the more I am impressed by how the WPF team combined what I liked about WinForms programming and what I like about Web programming. The Application object in WPF is a great example of this. It reminds me of the Application and Session object of ASP.NET wrapped up into one. &lt;/p&gt;
&lt;p&gt;The first thing is that there is only one Application class instance per application domain&amp;nbsp;and that the class itself is implemented as a singleton unlike in WinForms where the Application class is just a series of static methods and properties providing access into the underpinnings of Win32. This has the same feel as the Application object in ASP.NET and it&amp;rsquo;s scope to a virtual directory (hence application domain). The fact that this class is an instance based class opens the door for some really cool features that can help you out with everyday tasks.&lt;/p&gt;
&lt;p&gt;In earlier versions of Windows programming sharing data between forms required custom coding and a lot of things to think about. In WPF the Application class has a Properties property that acts much like the Session object in ASP.NET. It is a Dictionary type that allows you to store data from page to page. Just like in an ASP.NET application. This provides you with a much easier way to share data between pages and you get it in the WPF framework out of the box.&lt;/p&gt;
&lt;p&gt;If this wasn&amp;rsquo;t enough how about the ability to store data between invocations of your WPF application. It just so happens WPF has a cookie concept using Name/Value pairs and even has the ability to set expiration of the cookie. I know this has been around in ASP and ASP.NET for a while but it&amp;rsquo;s the simple things that count the most.&lt;/p&gt;
&lt;p&gt;By no means is this all that the Application class has to offer. After all it is the main class for all WPF applications. To learn more about this class refer to the online version of the &amp;nbsp;Windows SDK and look at the &lt;a href="http://windowssdk.msdn.microsoft.com/en-us/library/ms743714.aspx"&gt;Application Object&lt;/a&gt;.&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/4378.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>Windows Presentation Foundation Class</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/07/23/3371.aspx</link><pubDate>Sun, 23 Jul 2006 20:56:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/07/23/3371.aspx</guid><description>&lt;p&gt;I will be teaching a class on Windows Presentation Foundation at UCSD Extensions starting on September 18. The thing that is interesting about this class is it is on Beta technology. In fact UCSD has classes on all of the new .NET 3.0 technologies (Windows Presentation Foundation, Windows Communication Foundation and Windows Workflow Foundation). I have added links below for my class plus the other classes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40987"&gt;Windows Presentation Foundation Class&lt;/a&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40987"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40989"&gt;Windows Workflow Foundation Class&lt;/a&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40989"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40988"&gt;Windows Communication Foundation&lt;/a&gt;&lt;a href="http://extension.ucsd.edu/studyarea/index.cfm?vCourse=CSE-40988"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/3371.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>XAML a closer look</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2006/07/21/3319.aspx</link><pubDate>Fri, 21 Jul 2006 17:08:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2006/07/21/3319.aspx</guid><description>&lt;P&gt;XAML (Extensible Application Markup Language) is an xml based language for creating trees of .NET objects. It is being used not only in Windows Presentation Foundation (WPF) but also in Windows Workflow Foundation (WF). The strenght behind this language is it&amp;#8217;s human readable and writeable. This channel 9 video &lt;A href="http://channel9.msdn.com/showpost.aspx?postid=212481"&gt;There's Something About XAML&lt;/A&gt;  presented by Rob Relyea a Program Manager on the WPF team talks about the history of XAML, how it's been designed, how it works, what a BAML file is and what's in it, how the build process works, thoughts on debugging, tooling, and much more. This is a really cool video with lots of great content.&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/3319.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>