WPF Multi-Tier Business Application Track Code Camp Source Code

This blog post contains the source code for three of the May 17th 2008, Charlotte Code Camp sessions.  I have also included a short video below that introduces this application.

In about a week, I’ll post links to videos of all six sessions from the WPF Multi-Tier Business Application Track.  Josh Smith and I each did three sessions at in this track.

Requirements

  • Visual Studio 2008
  • Infragistics xamDataGrid version 7.2. 
    • This is a free data grid for WPF that you can download Infragistics xamDataGrid here. 
    • If you have the Infragistics .NET Advantage for WPF Volume 7.2 you do not need to download the data grid.
    • Note:  you may need to reset the Infragistics references in this application if you have downloaded the free version of xamDataGrid.

The xamDataGrid is used in two of the application forms.

Application

The included application was used instead of PowerPoint slides during the Code Camp.  It also contains a demo sales application that uses each of the features of the provided library.  The application uses many of the WPF features I’ve been blogging and writing Code Project articles on over the last few months and consolidates them into an application.

I strongly recommend that you view the above Code Camp videos when I post them.  They will help you get started and fully understand this application and all the very powerful time/code saving features.

This application is written to show WinForms developers how to accomplish familiar programming tasks in WPF.  WPF is fully ready and provides a super platform for developing line of business applications.  In case you are wondering, I keyed in the XAML by hand.  I didn’t use Expression Blend or my code generator.  I’ve been spending so much time writing code that it was nice to get back into working with XAML.

The data for this application is stored in the \bin directory of the application in the DatabaseEngineData.xml file.  If you delete the file, the database will be recreated for you when the application starts.

CodeCamp2008OneCompressed

The above image shows the Sales Person Maintenance form using the xamDataGrid.  The data grid is fully editable and supports business object validation using the IDataErrorInfo interface.

CodeCamp2008TwoCompressed

The above image show a busy application with six open forms.  The Task Switcher allows the user to easily task switch between open forms in the application.

Video

Silverlight Icon

The video links require Microsoft Silverlight 1.0. If you do not have it, you will be prompted to install it when you click one of the links. After the short installation is completed, close the browser window that you did the install in and re-click the video you want to watch. You can also download it here. Windows XP or Vista required.

Application Overview and Introduction

Close

Source Code: After downloading the source code you MUST change the file extension from .zip.DOC to .zip. This is a requirement of WordPress.com.

Download Visual Studio 2008 Source 660KB

I hope that this demo application gives you a some more understanding of WPF and how WPF can be used to create line of business applications.

Have a great day!

Just a grain of sand on the worlds beaches.

20 Responses to “WPF Multi-Tier Business Application Track Code Camp Source Code”

  1. thamaluk Says:

    Karl

    How or where do I get the source code ?

    I cannot attend the Code Camp, so I’m hoping that I can grab those files from your blog

  2. Karl Shifflett Says:

    Thank you VERY much for pointing this out.

    I uploaded the code and recorded the video at 1:00am last night.

    Thank you again for keeping me honest.

    Cheers,

    Karl

  3. hubethom Says:

    Hi Karl,

    thanks a lot for this examples. I’ll check them out this weekend. Unfortunately Charlotte was too far away from me. :-)

    Cheers,
    Thomas

  4. Karl Shifflett Says:

    Thomas,

    Thank you for your kind words.

    I’ll be in your neck of the woods in September. Actually Italy, Switzerland & London.

    Maybe we can hook up?

    What city are you in?

    Cheers,

    Karl

  5. hubethom Says:

    Hi Karl,

    I’m in Basel and sometimes in Zürich. Switzerland isn’t soo large. :-)

    >> Maybe we can hook up?
    That would be great.

    Thomas

  6. Karl Shifflett Says:

    Thomas wow!! Awesome. I’ll keep you in the loop. Will be getting my tickets in the next month or so.

    Looking forward to it.

    Cheers,

    Karl

  7. WPF for LOB track at Charlotte Code Camp « Josh Smith on WPF Says:

    [...] Karl has posted his excellent demo application, which will be the focal point of his three sessions here. I will post my presentation material directly after it finishes, since some of my material will be [...]

  8. Multi Tier LOB using WPF « Rams On It - .NET Says:

    [...] Multi Tier LOB using WPF 16 May 2008 Posted by ramsonit in How-To, WPF. trackback Karl has created LOB application using WPF. Get more information on this here. [...]

  9. pianomanjh Says:

    Hi Karl,

    Many thanks for sharing this code. I would love to compile it, but it seems it’s having trouble with the free version of xamDataGrid. Compile errors include “Type ‘ComboBoxItemsProvider’ is not defined” and “Type ‘ComboBoxDataItem’ is not defined”. I guess these types are excluded from the free version of the infragistics assembly? You think you’ll be able to provide an updated version, or will I have to sub in my own controls?

    Thanks a bunch.

    -Josh

  10. Karl Shifflett Says:

    Josh,

    I didn’t realize this. I’ll have to download the free version and get it on one of my systems. Give me a day to work on this.

    Cheers,

    Karl

  11. jbaird2685 Says:

    Hi Karl,

    thanks for the wonderful code base, however after downloading the infragistics net advantage, I cannot compile the code. I’m getting about 100 errors. Is there a specific path that I have to install the code in? I have it in my VS2008 projects. Here are some of the errors I’m seeing:

    Error 10 Value of type ‘System.Windows.Window’ cannot be converted to ‘WPFLineOfBusinessApplication.ApplicationMainWindow’. C:\Users\John\Documents\Visual Studio 2008\Projects\WPFLineOfBusinessApplication\WPFLineOfBusinessApplication\Application.xaml.vb 27 30 WPFLineOfBusinessApplication

    Error 89 The tag ‘UserControlBase’ does not exist in XML namespace ‘clr-namespace:Core.WPF;assembly=Core’. Line 2 Position 5. C:\Users\John\Documents\Visual Studio 2008\Projects\WPFLineOfBusinessApplication\Applications\Visual Basic Demonstrations\DemonstrationsVB\Demos\ApplicationMenu.xaml 2 5 DemonstrationsVB

    Thanks for the help.

  12. Karl Shifflett Says:

    Sorry that you are having problems.

    1. Write down the “names” of the references to the Infragistics products in the UI project.

    2. Remove the broken reference links.

    3. Re-add the references.

    One of the problems I had, is that I have the Infragistics full package on my machines and didn’t want to remove it. I was under the impression that this would work.

    One other developer posted a problme with the Infragistics ComboBox. I will look at this on Saturday evening or Sunday and repost the code with the form with the Infragistics ComboBox removed. I wil also try and get a machine with just the free Infragistics code installed on it and will post this too.

    Have a nice day,

    Karl

  13. jbaird2685 Says:

    Thanks for replying so quickly. I deleted everything and uninstalled the infragistics controls. The downloaded and reinstalled them before converting the project from vs2005 to vs2008. This time when I built, it succeeded and I was able to run the demo. Thanks again for the code, its a big help in the learning curve.

  14. maxabbr Says:

    The free version of Infragistics does not contain some classes required, but the trial version works well and can be installed together the free version (just take care on references other projects to use the free libraries).

  15. commongenius Says:

    I have found a couple of bugs in the sample application. I apologize if these are already known problems; I did not attend Code Camp, and I could not find a list of known issues in the download.

    a) The “Find” feature doesn’t work at all. Clicking the magnifying glass brings up the search box, but there is no way to actually enter anything into the box to find (e.g. clicking in the box and typing doesn’t do anything; the box still shows “Type text to find…”

    b) The Task Switcher doesn’t work reliably after closing a tab using the “X” button. Repro:
    1) Start the application
    2) Select the Session One -> Application Shell menu item
    – The Shell tab opens
    3) Select the Session One -> Application Shell Features menu item
    – The Shell Features tab opens
    4) Click the Shell tab
    5) Close the tab using the “X” button
    – The Dashboard tab is displayed
    6) Use Ctrl+Tab to switch to the Shell Features tab
    – Nothing happens

    There are some interesting ideas here. I will continue to investigate the application. Thanks for posting it.

  16. al12345 Says:

    Hi Karl,

    Thanks for all of your work. It has been extremely helpful. Do you have any idea when you might post your videos from the code camp?

    Al

  17. Karl Shifflett Says:

    There was a problem with the video recording so we do not have them.

    I’m putting together an entire series and will be posting this in October.

    This will be featuring Ocean and the entire new platform.

    Cheers,

    Karl

  18. janpress Says:

    Hey, is it possible to still get the videos?
    I looked at the sourcecode (sadly i can’t compile everything right now – lack of VB tools) and i can’t figure out how (and where) you created the little X to close the tabs. is it still possible to get a little insight into that?

    Thank you very much as i have learned much browsing you blog.
    Jan

  19. janpress Says:

    okay. forget the question about the close button. i compiled everything and everything was clear… thanx anyway for all the great samples.

  20. Karl Shifflett Says:

    Jan,

    Glad you were able to compile the app and see how the close button worked.

    Cheers,

    Karl

Leave a Reply

You must be logged in to post a comment.