was successfully added to your cart.

Tournament Tracker Add-on: WPF with MVVM User Interface

Replace the WinForms UI with WPF using MVVM

*Taking the C# Application from Start to Finish course is required before taking this course

Want to learn how to build a WPF application in the real world? This course builds upon the idea we started back with our Tournament Tracker application and adds a WPF user interface to the project. Over the seven hours of video teaching, you will see exactly how our application can be changed to fit a modern desktop design. Along the way, you will get to see topics like:

  • MVVM
  • Caliburn Micro
  • Nested Views
  • Event Aggregation
  • Data Binding
  • Separation of Concerns
  • Dynamic Layouts
  • Debugging
  • Best Practices
  • and more…

Bottom line, if you want to see how to build a WPF application using Caliburn Micro to implement MVVM, this is the course for you.

Take this Course

Join the discussion 22 Comments

  • federicoch says:

    Hi Tim , where i can download the project ?

  • kold98 says:

    lol…I can’t find the links…where is it?

    • Tim Corey says:

      I know you figured this out but it will help others since this is a common question. All download links for a course are located in the first lesson.

  • mbatista says:

    Great course Tim! very straight forward with clear explanations on every topic.

  • tuval says:

    I created a table using FlowDocument programtically.
    I’m trying unsuccessful to add/bind it to my app that I built using cliburn micro according to your youtbute crush course.
    Can you instruct me how to do that?

  • sdoumbia says:

    Very impressed with detail explanation of every phase of the tournament tracer project

  • sdoumbia says:

    I have follow you up lesson 12 now decided to purchase the course and maybe finish it off line

  • jason9107@gmail.com says:

    Hey Tim! Great course material. Just wondering if is possible to download the videos to watch them offline. I don’t see a way to do it from your website but maybe I’ve missed something.

    Normally it wouldn’t be an issue but I often like to watch videos like these on my mobile device while travelling to work which means I don’t have wifi available.


    • Tim Corey says:

      I’m still working through how I could do that. Right now that is my only concession to preventing piracy. So right now the answer is no but I’d love to do something like that in the future and I am looking into it.

      • jason9107@gmail.com says:

        I totally understand and figured something like that was the case.

        I suppose it would need to be some sort of offline system similar to the way Netflix does it; obviously not a trivial problem to solve.

        Well here’s hoping there’s a not so painful solution as it would add quite a lot of value to your site.

        Thanks again!

  • Tayyab nazir says:

    Hi tim,
    You are doing Fantastic….!
    With this course will we be able to develop desktop applications
    Super market software
    Pharmacy software
    Resturent pos software

    Please give me your caring feedback

    • Tim Corey says:

      We don’t do those specific items in this course but the principles you learn will definitely apply to you doing those types of applications.

  • Kevin says:

    Hi Tim. Do you have a “preview” video we can see of what your WPF and ASP.NET UI (final product) will look like? It will help me figure out whether I want to invest in buying the course 🙂

  • Prathyusha says:

    Hi Tim, Is multi threading concept explained in this project

  • Robert Ferderer says:

    Hi Tim. Another great course. I do have a question and must have missed something along the way… The CreatePerson and CreatePrize methods as well as their CanCreatePerson and CanCreatePrize methods accept 4 parameters. I don’t see where these methods are called with values for these parameters. Would you please explain how this is working? Thank you!

    • Tim Corey says:

      This is part of how Caliburn Micro works. The button named CreatePerson calls the CreatePerson method. Any parameters needed are filled from the existing object. The CanCreatePerson method also wires up to the CreatePerson button but it wires onto the Enabled property.

Leave a Reply