Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Welcome to our site

Take a moment to join our board

Sign in to follow this  

WPF Basics (Streamed Lesson)

Recommended Posts

So early this morning I did a live lesson on WPF that basically touched on design, MVVM, data-binding and commands. This video is definitely considered long, however my goal was not just to teach my viewers a certain way of doing it and leaving it at that, but to also go through other ways and why it's wrong. For example one thing I touch on is why the ideology that no code should exist in your code-behind is a good one.


So here's the YouTube version of the lesson with the only edits being done to the start/end times. 😁


C# - WPF Basics (In-Depth Lesson/Stream)

Source as of current lesson: https://github.com/reikotechnology/chatty

Edited by Reiko
  • Like 4

Share this post

Link to post
Share on other sites

Wow, you're really easy to listen to for this kinda stuff. I wasn't expecting it to be so fluid. Good job, man.

  • Like 1

Share this post

Link to post
Share on other sites

Thank you so much!


My favorite quote from the video (starts at quote):



So there is a uh... Border...… a border con- hah, a /border control/ within WPF.

*Shortly thereafter...*

And we're going to uh, you know. Put it in the border. We're building that wall around our elements.


Nothing but pure cheese. 😂

Share this post

Link to post
Share on other sites

Nice videos, I remember watching one of your videos about sockets a long time ago. I have not used WPF in quite some time. When I did I remember using caliburn micro as my binding library. It was very convention based though. Everything had to be named certain ways to expect things to work. That enforces a standard convention, but also may be confusing when you are just look in from the outside.


Keep up the great work! 

  • Like 1

Share this post

Link to post
Share on other sites

Small suggestion, lower the volume of the music a little bit more.
Sometimes the music gets louder and it can get annoying to focus on your voice. 

But nice tutorial, btw ;) 

Edited by Omicron
  • Like 1

Share this post

Link to post
Share on other sites

The way you talk is so chill to listen to :)

Keep it up :)

Edited by Mugaru
  • Like 1

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Emi-chan
      So this is a pretty neat project I intermittently work on. This is a discord bot using the Discord.NET wrapper from RogueException. It makes use of the onion architecture and I tend to think while indeed a small project at this time, is the best showcase of my growth as a programmer and knowledge of OOP.
      One really neat feature I love to draw attention to is the command system. I sometimes get called out for overengineering the solution, but I highly disagree. One thing I've really bought into is the idea of future-proofing your application. Most discord bot command systems use hard-coded strings somewhere to dictate what command is being parsed. Something many programmers do is use a switch statement. This is fine, however I understood that as the needs for the discord server I administrate grow so will the scope of this project. I needed a more... automated solution. The idea came to me to use reflection for this so I could create/delete classes that were prefixed with the command and compiled at run time in order to be parsed and executed. Long night made short, I evolved from using Activator to compiling lambda expressions which displayed a HUGE performance increase (almost near raw hardcoded performance). This allowed me to have a solution where I don't need to manually maintain a switch block or refactor strings in the event commands change.
      Hope y'all dig it!
      Blog Writeup: https://reiko.tech/Blog/View/8
    • By Omicron
      I have been working on an API which I will be using for:
      I got the base working and wanted to share it.
      The API is made in .NET Core 2.1 using Pomelo Entity Framework and FluentValidation 
      The project can be found on my Github: https://github.com/Sedatb23/EpochApi
    • By Omicron
      A nice read about microservices. Even though they mention .NET a lot, the content is still pretty relevant with other languages. 
      Also, I uploaded the e-book as attachment as I am not sure about file storage on the server, I will provide you guys with a direct link to the download. (Which is also available on the overview page)
      [Attachment].NET Microservices - Architecture for Containerized .NET Applications.pdf
    • By Smallxmac
      Getting started with Blazor and Electron.NET 
      Background Information:
      What is Blazor? From the Blazor Github, Blazor is "an experimental .NET web framework using C#/Razor and HTML that runs in the browser via WebAssembly" What is Electron.NET? From the Electron.NET Github, "Electron.NET is a wrapper around a "normal" Electron application with an embedded ASP.NET Core application". Perquisites:
      So that this article does not get dated with irreverent information quickly I will be using information from other resources. getting started for blazor  node.js v8.6.0+ electron-packager --global Sample Project Github:
      If you do not want to follow the steps below, or just want to check out the code I reproduced the following steps in a repo. Besure you all the required perquisites  https://github.com/mandrepont/blazetron Setting up a simple project:
      If you have not done so, check out the getting started for blazor to install perquisites for this tutorial  Create a new Blazor (ASP.NET Core hosted) project Install ElectronNET.API PM> Install-Package ElectronNET.API  
      In %projectname%.Server/Program.cs change BuildWebHost to use Electron public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseElectron(args) .UseStartup<Startup>() .Build();  
      In %projectname%.Server/Startup.cs change Configure to open Electron app.UseBlazor<Client.Program>(); Task.Run(async () => await Electron.WindowManager.CreateWindowAsync());  
      Add cli tooling to %projectname%.Server <ItemGroup> <DotNetCliToolReference Include="ElectronNET.CLI" Version="0.0.9" /> </ItemGroup>  
      Note at the time the current version is 0.0.9 dotnet restore Install electron packager sudo npm install electron-packager --global  
      Init and Run
      dotnet electronize init  
      dotnet electronize start  
      I claim none of this work as my own and proudly support the work of both the aspnet team on Blazor and the team developing Electron.NET, this post is intended to raise awareness of some of the possibilities for a prototype. Most of the "Setting up a simple project" is directly from both Electron.NET's and Blazor's githubs. 

Important Information

By using this site, you agree to our Terms of Use.