Build a WPF MVVM Application - START TO FINISH TUTORIAL

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 165

  • @SingletonSean
    @SingletonSean  2 ปีที่แล้ว +42

    Thank you to everyone for helping the channel reach 10,000 subscribers! To celebrate, this week's video is just a bit longer than usual 😄 🎉

    • @krisztianlun3463
      @krisztianlun3463 2 ปีที่แล้ว +1

      Thank you!

    • @josbexerra8115
      @josbexerra8115 2 ปีที่แล้ว

      Gracias por compartir conocimiento de calidad....saludos de los andes peruanos

  • @apeshape01
    @apeshape01 2 ปีที่แล้ว +17

    I have never posted a comment on TH-cam but this video has really helped me out so much that I wanted to say thank you for taking the time to produce it. I still have a long way to go building my own competency and will be watching this on repeat until all of the concepts sink in. Thanks once again. Now let’s have a look at some of your other videos.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Thanks apeshape, glad that this was helpful! I hope that other videos on this channel will help solidify some learnings. Cheers!

  • @abidredlove
    @abidredlove 13 วันที่ผ่านมา

    best tuto i'have ever seen .. just the names of Viewers and Views make me confused a little bit ..thanks a lot

  • @CRBarchager
    @CRBarchager 2 ปีที่แล้ว +3

    This is by far the best turorial on WPF coding I've ever seen. Good presentation, explination and knowledge on WPF and it's querks. Thank you!

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Thank you for the feedback SodaDK, glad this presentation was helpful!

  • @neils.6674
    @neils.6674 ปีที่แล้ว

    Hi Sean! Neil Singleton here! Lol. Finding this extremely good and clear. I'm looking to change jobs and focus on WPF, which I did touch on a few years ago. Thanks bro. 😉

  • @RupOase
    @RupOase 2 ปีที่แล้ว +4

    Gem right here! This comes in such a perfect timing for one of the things that I'm training for!

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Fantastic Dan, glad this is helpful and I hope the training continues to go well!

  • @matteobarbieri2989
    @matteobarbieri2989 2 ปีที่แล้ว +1

    I've folloed your video step by step. It took me probably more that 8 hours. It is very complete and rich of interesting cues. Very good job. Thanks

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Bravo Matteo, glad this was helpful!

  • @brandonberisford
    @brandonberisford 2 ปีที่แล้ว +3

    I've been on a Hiatus from the defense/aerospace company I previously worked at (which did desktop/WPF applications for military aircraft), too do some web development, both frontend and backend. I'm going back too the aerospace company though, so this has been an amazing refresher on WPF, Styling, MVVM etc. I didn't forget it all, but after working in Typescript and react for the past 10 months I def needed this. Thanks Sean!

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +2

      That's great Brandon, I also went through the transition from WPF defense industry into React + Typescript last year! I feel like a lot of front-end web concepts are applicable to WPF and can actually enhance our WPF skills. Regardless, I'm glad this was a nice refresher. Maybe in a few months I'll have to watch this video hahaha

    • @brandonberisford
      @brandonberisford 2 ปีที่แล้ว

      @@SingletonSean Yeah I totally agree. Although React and WPF are for completely different types of applications my skills have definitely transferred.

    • @brandonberisford
      @brandonberisford 2 ปีที่แล้ว

      @@SingletonSean Just curious, what defense company did you work for? Did you enjoy the work? Unless the stuff you worked on was under a clearance of course haha.

  • @charlesroscoe7780
    @charlesroscoe7780 2 ปีที่แล้ว

    THE best WPF DeepDive Video! Others take up to 4h but never go in depth as you. Please keep it up! Maybe evaluate some WPF Nuget Packages.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Thanks Charles! That's a good idea - there are some WPF packages that I'd like to take a look at. I'll book some time for that!

  • @MegaBasti1989
    @MegaBasti1989 ปีที่แล้ว

    Holy coder! I just watched how u set up that interface. I know its just some "simple stuff" but the amount of knowledge you have about all the details is astonishing - or your video editing skills are impressiv as well :D. I mean you simply translate your talking to coding without hesitation.
    Anyway just wanted to say thank you for giving a much needed step by step MVVM Tut. Keep it up

  • @railgundotenc8538
    @railgundotenc8538 2 ปีที่แล้ว +4

    I can’t import namespace at 7:33. Ctrl . Does not do anything and when I type the namespace in my self it does not work

  • @billymartin6497
    @billymartin6497 ปีที่แล้ว

    Great and informative video. Thanks. I want to point out that there is a lot of xaml nesting that probably doesn't need to be there and is a bad habit to get into for performance sake.

  • @webdevfs9361
    @webdevfs9361 ปีที่แล้ว

    I'm just starting this video, Sean you rock! I'm planning to build an engineering app in WPF for my company. Thank you!

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว +2

      Awesome! Hope these videos help 😃

    • @webdevfs9361
      @webdevfs9361 ปีที่แล้ว

      @@SingletonSean can I ask how you personally learned WPF?

  • @markmahowald7866
    @markmahowald7866 2 ปีที่แล้ว +3

    how do you feel about multi window apps? I have had my users request the ability to show more than one window at a time, but it seems to raise the complexity an order of magnitude.

  • @lachezarlyubchov9978
    @lachezarlyubchov9978 2 ปีที่แล้ว

    Thanks for the tutorial. It really helped me out. I wanna leave one remark, if it's not already here :D. When you add/edit, it would be good to disable the cancel button, when you click submit, because if we have some kind of delay, we will have problems.

  • @ahmadkelany
    @ahmadkelany 2 ปีที่แล้ว +1

    The best WPF content creator strikes again 😁😁
    Thanks for the amazing channel and the amazing video 💐💐

  • @DrSteve123456
    @DrSteve123456 2 ปีที่แล้ว +2

    Dear Sean! Great video as it is, but it would be nice to add unit tests to it. It would be interesting to see if you test only the domain layer, or the db layer and the views as well in a start to finish tutorial.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +4

      Hey DrSteve! I would certainly test the domain layer (as you suggested) and miiiight test the DB layer with an EF in memory database. On the MVVM side, I'd also test commands since they typically contain important application logic. I probably wouldn't test view models that hard since they're typically just made up of properties, but I'd test any view models that have other methods defined. Lastly, I haven't had much luck ever testing views.
      I haven't done my research yet, but I'd love to figure out how to do E2E testing on a WPF application. That would probably be the best way to confidently test views and view models.
      I place a lot of value on testing in personal projects, so it would be nice to bring that to projects on the channel (hopefully in a non-repetitive or boring way lol). Good suggestion!

  • @cesarbravo1035
    @cesarbravo1035 ปีที่แล้ว

    Thank you for sharing your great videos, there are full all good information, it is awesome!!

  • @sventhiele3905
    @sventhiele3905 2 หลายเดือนก่อน

    Pretty neat video. Just one question, why dont simply use a regular menu for the dropdown within your list items? Give it a "..." -header and you are good to go. I dont know if there is any drawback but surely there is less work. Good job anyways.

  • @ivandrofly
    @ivandrofly 2 ปีที่แล้ว +6

    02:02 Startup / Entrypoint startup
    15:30 IsSharedSizeGroup
    20:10 Tool used to design UI
    20:35 Button highlights fix
    23:00 Casting, storyboard background color;
    25:00 Fix stupid borders radius*;
    26:45: CallerMemberNaame (INotifyOnPropertyChanged)

  • @PAJANI1910
    @PAJANI1910 ปีที่แล้ว

    Hi Sean, your videos are awesome... I fully completed this video and coding without missing a single line of code. Learnt lot.
    Could you please make a video using Reactive Extension (Rx Library) with WPF.

  • @sairamchalla7316
    @sairamchalla7316 ปีที่แล้ว

    Thanks for the basic tutorial for my level of understanding, could you please make a video for custom messagebox in MVVM

  • @Trunkss6
    @Trunkss6 2 ปีที่แล้ว +3

    Hey Singleton, any chance you could make an application that uses a calendar? Where you can add some kind of events and maybe even an option for sorting depending on the type of the event that would produce some kind of a list?

  • @milionowski
    @milionowski ปีที่แล้ว

    Sick video, I had to slow you down to keep up. Subscription is coming right now!

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว

      Awesome, glad this was helpful!!

  • @ElCidPhysics90
    @ElCidPhysics90 ปีที่แล้ว

    Wow. So much information. And I’m only 1 1/2 hours in!

  • @johnnyserup5500
    @johnnyserup5500 5 หลายเดือนก่อน

    Fantastic, really detailed and nicely done

  • @barosangaming8174
    @barosangaming8174 2 ปีที่แล้ว +4

    Hi Sean, I liked the video, made it easy to understand xaml and how it works, one issue tho. I just started learning c# and this video was a little bit too fast for me on normal speed, maybe in the future you can go lik 20-15% slower? that would help a lot

    • @kylerbriskey372
      @kylerbriskey372 ปีที่แล้ว

      Have you tried slowing the view down using on TH-cam?

    • @barosangaming8174
      @barosangaming8174 11 หลายเดือนก่อน

      @@kylerbriskey372 It's just not the same.

  • @omostan
    @omostan ปีที่แล้ว

    Awesome! Thank you so much for your time and energy. I learned a lot from it and will definitely try these techniques in other applications.

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว

      Thanks omostan, glad this was helpful!!

  • @robertorinaldi4964
    @robertorinaldi4964 2 ปีที่แล้ว +4

    Hi Sean, congratulations on your channel, I've been looking for more in-depth explanations about MVVM for some time without success, until I found your channel.
    In all the examples I found on your channel, you do the MVVM navigation where the CurrentView is changed by calling the next View by the CurrentView itself.
    How to have a fixed Menu in MainView (or MainWindow) and that the CurrentView is called through it?
    And also how to have more than one View opened (not modal), because in your examples we always have a single View, the CurrentView?
    Thanks in advance!

    • @robertorinaldi4964
      @robertorinaldi4964 2 ปีที่แล้ว

      I’ve been racking my brains all day, but I finally managed to solve the problem.
      I put the buttons in the MainWindow and the ContentControl in an area of the Grid (specific row/column in the grid). And in MainViewModel I created the Commands that fill that area of the grid with Views, making the buttons always available to change the View of that area.
      It worked, but if I got something wrong, correct me. Thanks.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Ah I understand your situation Roberto! Your solution above is the most natural solution, so I definitely second that idea. Glad you solved this, and thanks for supporting the channel!

  • @mauriziopatino6116
    @mauriziopatino6116 ปีที่แล้ว

    Hi Sean, I have a question
    There's any reason why you choose to have all-in-one architecture?
    Awesome video
    Thank you!

  • @natlinux
    @natlinux 2 ปีที่แล้ว +1

    very great usefull stuff. that´s already what i need. thank you so much 💚

  • @michaelharmon733
    @michaelharmon733 2 ปีที่แล้ว +1

    That SharedSizeGroup is so nice... Why didn't I know about this 100 projects ago?

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Ah ikr, I was so satisfied when I was first introduced to SharedSizeGroup hahah

  • @alexprvn
    @alexprvn 2 ปีที่แล้ว

    Thanks Sean, Great Video. i have a request can you post a video on Extensible WPF application with plugins addon like add new functionality just with adding plugins.

  • @Louis-zq3ft
    @Louis-zq3ft 2 ปีที่แล้ว

    i'm starting c# and never use mvvm so tks to propose me this perfect example

  • @ClanLosFriendsGamer
    @ClanLosFriendsGamer 2 ปีที่แล้ว +1

    Hi good video so far, Sean!
    I've been reproducing it/learning from it for about two days now. I ran into a problem with the initial migration of the DB which starts at 2:41:40.
    My problem was this message:
    "Could not execute because the specified command or file was not found.
    Possible reasons for this include:
    * You misspelled a built-in dotnet command.
    * You intended to execute a .NET program, but dotnet-ef does not exist.
    * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH."
    Which could only be solved by this command "dotnet tool install --global dotnet-ef".
    I wanted to share this with you in case someone runs into the same problem.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Hey Freelancer, good catch! I must've skipped over that since I've had that tool installed for so long. Thanks for calling that out for everyone!

  • @Dichill
    @Dichill 2 ปีที่แล้ว +1

    Exactly what I needed!!! Great content as always

  • @neptune2601
    @neptune2601 2 ปีที่แล้ว

    Hello singleton, this is Delegate. Nice to meet you 😬

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Nice to meet you Delegate! 😁

  • @BloodHaZaRd666
    @BloodHaZaRd666 2 ปีที่แล้ว

    That's Great 4 hours of pure new things to learn :D u made my day

  • @imotep460
    @imotep460 ปีที่แล้ว

    First of I love this tutorial very informative :-D
    Now how would you add a CLI interface with say basic CRUD functions so that say a server could add entries to the database that you work with in the GUI?

  • @ihsannuruliman4005
    @ihsannuruliman4005 ปีที่แล้ว

    Hi Sean, I've been learning C# lately and am about to learn WPF for building an app project that requires many contacts with the Windows API. Can you help me? In your experience, do you think it's possible to do these stuff:
    - Running the WPF app in the background (as a system tray)
    - Get selected text from outside of the WPF program (so when the user selects a text on any program outside of the current program window, we can get listen to the event and get the text accordingly)
    - Registering a hotkey to run the program
    After I'm confident enough that those things possible, I want to learn more about it and watch some of your videos for reference. Especially the MVVM part.
    Thanks 😄

  • @TreiberStudio
    @TreiberStudio 2 ปีที่แล้ว +1

    Hello Sean,
    another great video! Could you extend the application to read, write and update data (with Entity Framework) that are in a many to many relationship?
    Greetings from germany - Patrick

  • @sergeys5270
    @sergeys5270 2 ปีที่แล้ว

    Very cool lessons on WPF! Keep it up please! There are few good wpf tutorials on the internet

  • @guillaumeleroux6595
    @guillaumeleroux6595 2 ปีที่แล้ว +1

    Hello Sean, Great video !
    I've question about the navigation, is it possible to make a button with a dynamic NavigateCommand ? For example I'm at the home page and the button dependent of a variable, the button will set the current view to page 1, 2 or 3. I don't know if I need to set the variable in the ViewModel or in the App.xaml.cs. Thank you for all your content ! You really help me a lot through my personal project.

    • @abdulmagedkhaled9480
      @abdulmagedkhaled9480 ปีที่แล้ว

      I am currently at the same situation, did you figure it out ?

  • @sergiocosta3471
    @sergiocosta3471 2 ปีที่แล้ว

    Excellent stuff. Thank you very much!
    A question: How to handle the reading and writing of data using DTO's when there are related data to load from the database? An example on your system would be posts written by users that also have comments from other users.

  • @xpacificstormx
    @xpacificstormx 2 ปีที่แล้ว +1

    Hi Sean, what a shortcut key you was used to break line in XAML. From 12:30 to 12:33

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +3

      Hi Takashi, I actually just use this VS extension that formats my XAML whenever I save a file: marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler
      It's awesome and I highly recommend it!

  • @DonaldFranciszekTusk
    @DonaldFranciszekTusk ปีที่แล้ว

    What is the advantage of using ContentControl, with changing content (Views/ViewModels) under the influence of Command [or just MVVM], over using Frame with changing Pages?
    just more separation of concerns or something more?

  • @amirmonfared8756
    @amirmonfared8756 2 ปีที่แล้ว

    Great!
    Please make an MVVM Crud app turorial with unlimited level treeview list!

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Ah unlimited tree view lists are a tough problem, might have to try that out!

  • @ElCidPhysics90
    @ElCidPhysics90 ปีที่แล้ว

    How different is WPF today compared to say 4-6 years ago? I ask because there appears to be so many more WPF tutorials in the previous 4+ years.

  • @hanggono891
    @hanggono891 2 ปีที่แล้ว

    Thanks for the tutorial very helpful

  • @amryakout2957
    @amryakout2957 ปีที่แล้ว

    I have mvvm project with main view contain 2 views, I want to update textblock value in the first view from the second one .
    The value updated only after refreshing the main view.
    I fired the event for the property change to update the textblock binding property but still the value not updated only in case of refreshing the main view

  • @emissaryofkek
    @emissaryofkek 2 ปีที่แล้ว +1

    I'm quite new to programming and recently moved from doing console programs to doing WPF and your videos (especially this one) are very helpful. I have encountered one problem though.
    @47:10 I cannot get it to show the bindings, just as it was for you before you had to reboot. I tried the same and it still doesnt work. I followed the whole video step by step so I have no idea why it won't work.
    I'm using VS Community 22 (.net 6.0)

    • @thesorus
      @thesorus ปีที่แล้ว

      Have you fixed the binding issues ? I'm still having issues with the listview binding.

    • @jymmorton5612
      @jymmorton5612 ปีที่แล้ว

      @@thesorus You have a typo. The binding works fine. I find the issue with using a lot of similar 'names' results in typos. If you're using VS2022 when you run the program you'll see a red circle with a number in it on the top of the program window. Click that and look at the error message. Any null will be a typo. Look for a missing "s" or a capital letter or something that makes you roll your eyes.

  • @jymmorton5612
    @jymmorton5612 ปีที่แล้ว

    I'm wondering why in the TH-camViewersListing you wouldn't just give the ListView a Margin = Corner radius (in this case 5) so the border corners don't have the ListView covering them?

  • @dmitriialeksandrovich4565
    @dmitriialeksandrovich4565 2 ปีที่แล้ว

    Love you man!

  • @aodst3adyaway175
    @aodst3adyaway175 10 หลายเดือนก่อน

    This is really good, thanks

  • @sergeyshevtsov9253
    @sergeyshevtsov9253 2 ปีที่แล้ว

    Thanks for the video! I've noticed when you're formatting XAML all node params are alphabetically ordered, is it editor configuration or some plugin?

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +2

      Hey Sergey! It's a VS extension called XAML Styler (marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler). It's suuuper helpful.

    • @sergeyshevtsov9253
      @sergeyshevtsov9253 2 ปีที่แล้ว

      @@SingletonSean Man, you're a lifesaver! Thanks!

  • @saifsdin1
    @saifsdin1 2 ปีที่แล้ว

    Please create tutorial for prism library or composite pattern for wpf mvvm

  • @windowsbuilderthegreat3121
    @windowsbuilderthegreat3121 2 ปีที่แล้ว

    When it comes to using a class library, which elements of mvvm should be put inside a class library

  • @SoloEnLaCasa
    @SoloEnLaCasa 2 ปีที่แล้ว

    Hey Sean,
    Thank you very much for expended you time and show the community the correct architecture MVVM for WPF.
    Very detailed and Great video!
    Could you extend the application to use logging like Serilog or NLog? because your video about logging is very simple and show only one command (MakeSandwichCommand).
    Could you recommend any book about WPF MVVM?
    thanks and take care

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Thanks MGA! That is a shame, I can't believe I missed out on doing logging in this video. I will have to come back for more on that, or maybe tackle it in the next big application video. Regardless, I would probably follow all of the concepts from the other logging video I have.
      As for WPF books, I really haven't found many that focus on MVVM. I used to always browse through "Pro WPF 4.5 in C#" by Matthew MacDonald and learn some good WPF concepts though.

    • @SoloEnLaCasa
      @SoloEnLaCasa 2 ปีที่แล้ว

      @@SingletonSean
      Hey Sean
      thanks for answering my question, it would be great if you could implement logging in your next big application
      but I know it would be even cooler if you could implement the hamburger menu and of course the sub menus as well.
      I hope you can do it very soon
      take care and stay healthy
      best regards
      Marce

  • @tcgupta5
    @tcgupta5 9 หลายเดือนก่อน

    How can use this concept to switch to different views in the DetailsView?

  • @szesrzentomas
    @szesrzentomas 10 หลายเดือนก่อน

    Hey, how did you edit 1 line into 4 like in 10:09? Thanks for your answer in advance.

  • @jonnyjazzz
    @jonnyjazzz 2 ปีที่แล้ว

    What are you doing to reorder your xaml properties? I see in Tool -> Options -> Text editor there is an option to enforce a separate line for each property, but you pushed something to reorder "Padding" from the last element in the list to the first.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Hi jonnyjazzz! I use this XAML Styler VS extension. It's awesome! marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler

  • @AfLpC
    @AfLpC ปีที่แล้ว

    hey man great video!
    i have one question tho.
    how do you move all the attributes into separate lines?
    my textbox attributes all go in a single line and i don't want to manually add enter before every attribute
    is there a format setting that does that?

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว +1

      Hey Viktor! I missed this comment, but I use XAML Styler: marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler It is great!

  • @naveenkumarruguda7274
    @naveenkumarruguda7274 ปีที่แล้ว

    using mvvm and command develop calculator application without codebehind and BODMAS rule has to work could you please make a video

  • @teddyouattara4914
    @teddyouattara4914 2 ปีที่แล้ว

    Hi Sean, I want advices to Build an Api for my wpf C# project with PostgreSql. Can you help me

  • @daliangilbert
    @daliangilbert 2 ปีที่แล้ว

    Maybe you will explain this Grid.OpacityMask in detail, completely don't understand it

  • @maikborchardt5692
    @maikborchardt5692 2 ปีที่แล้ว

    Awesome!! THX!

  • @olanrewajusaka3991
    @olanrewajusaka3991 2 ปีที่แล้ว

    Good work brp, sir when will you be looking at .Net MAUI Sir

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Thanks Olanrewaju! I'll look into .NET MAUI once it's fully released (it's currently in preview still)

  • @AswinPJ
    @AswinPJ ปีที่แล้ว

    Can you make the same tutorial using MVVM toolkit?

  • @davidalexandr5716
    @davidalexandr5716 ปีที่แล้ว

    !!!!! Help me pls!!! But if we want add one more table, for example... a table with gadgets from which viewers are watching. there will be a field with the ID of the gadget and its name, how to make it show the name of the viewers in the main form, whether he is signed or not and the NAME of the gadget from which he is watching (how to make a connection between these two tables)

  • @thelazycrazybrain
    @thelazycrazybrain ปีที่แล้ว

    I really love the tutorial, but I would prefer a shorter video that focuses on the topic. It is an MVVM pattern video. You focus on styling, templating and animations. But great tutorial tho.

  • @UnknownMoses
    @UnknownMoses ปีที่แล้ว

    DimGray is a great color when you want something darker than gray and don't want to spend much time on it.

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว

      Ah that's good to know, I will have to try that next time. Thanks UnknownMoses!

  • @FarzadJahanshir
    @FarzadJahanshir ปีที่แล้ว

    Is it possible to show item details within a Datagrid?

  • @ZubairKhan-vd9ik
    @ZubairKhan-vd9ik 7 หลายเดือนก่อน

    😍😍😍😍😍

  • @ShinyBorel
    @ShinyBorel 2 ปีที่แล้ว

    Sean Da Gawd

  • @yaygerbombz9971
    @yaygerbombz9971 2 ปีที่แล้ว

    Is it fine to watch this one first or should you watch your Models - WPF MVVM Tutorial first?

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Hi YaygerBombz! Either one is a good start - that said feel free to start with this one 😁

  • @sunilgeorge9783
    @sunilgeorge9783 2 ปีที่แล้ว

    drop down menu nuget package is not compatible with .net framework 4.6 , is there any other way?

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Hey Sunil, you could copy the dropdown component code into your own project so that it's built with .NET framework: github.com/SingletonSean/wpf-ui-workshops/tree/master/DropdownMenuControl
      My bad for not being this component backwards compatible with .NET framework!

    • @sunilgeorge9783
      @sunilgeorge9783 2 ปีที่แล้ว

      @@SingletonSean Thank You , worked !

  • @techsolve9397
    @techsolve9397 2 ปีที่แล้ว

    niceeee

  • @sneffetsd
    @sneffetsd 2 ปีที่แล้ว

    Can't the "Store" be another public property inside viewmodel?

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Hey Deivid, the Store technically could be a public property that the view directly binds to. However, binding to objects that don't implement INotifyPropertyChanged could result in memory leaks, so you'll want to implement that interface on the store.
      On the other hand, I typically prefer views to only bind directly to view model properties. This allows stores or any other infrastructure beyond the view model layer to change independently without breaking a binding on the view. It's also just nice for the view model to explicitly reflect the data required for the view in my opinion.

  • @moonwaxing1
    @moonwaxing1 2 ปีที่แล้ว

    Haha "DarkGray is lighter than Gray"!

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Yep! I guess we should use "DimGray" if we want an actual dark gray haha stackoverflow.com/a/47053673

  • @harrynewman1744
    @harrynewman1744 ปีที่แล้ว

    I hate WPF. It keeps giving me errors, and when I build the solution they go.

  • @silentwindstudio
    @silentwindstudio 2 ปีที่แล้ว

    Thanks for the content! BUT I just have to say that it pisses me off when I heard "I haven't planned this out", most of content creators on WPF and MVVM do this, and it makes harder to learn than it should.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว +1

      Hey Alex, no need to worry! When I said that, it was true. However, I took many breaks throughout the creation of this video for planning and to keep us on track. But it would be impressive to create an app in a 4 hour video with no planning :)

    • @silentwindstudio
      @silentwindstudio 2 ปีที่แล้ว

      @@SingletonSean Thank you for the response! I give it a go then!

  • @dexquery69
    @dexquery69 ปีที่แล้ว

    Can you help me i am getting error please connect with me it'll be really great help from your side.

  • @kucanw1090
    @kucanw1090 2 ปีที่แล้ว +1

    Good tutorial, but unnecessary long and bad names for variables and methods that made code barley readable

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Thanks for the feedback! This video was indeed long - I'm not sure I could've made it much shorter. Do you have any examples of bad naming and how those could be improved? Interested in hearing other's perspectives on naming conventions.

    • @kucanw1090
      @kucanw1090 2 ปีที่แล้ว +1

      @@SingletonSean The TH-cam prefix just made the code much longer and harder to read, I watched till 1 hour and couldnt keep up anymore because of too long names and the name differences are so little you sometimes miss it, next time try to find a much more shorter and simple names please. Its not the problem how long the video is, the problem is how long the names are (characters) so you cant keep up. Also please dont switch between tabs so fast its hard to keep up, for 1 hour of your video it took me 4 hours because I had to pause and look where I am and check the names if they are correct... You seem like you know a lot and its a great tutorial but its too complicated with the names and the speed of you switching between tabs, it makes it really hard to follow. Thank you for being nice and actually wanting to know what the problem is, respect and good luck to you!

  • @_Afsus
    @_Afsus 2 ปีที่แล้ว

    What i need

  • @mohamedyounesse
    @mohamedyounesse ปีที่แล้ว

    plz use microsoft mvvm toolkit is inexpensive and shortens you a lot of things

    • @SingletonSean
      @SingletonSean  ปีที่แล้ว

      Hi mohamed, I will soon! I want to do a video on MVVM toolkit specifically, perhaps even as a livestream.

    • @mohamedyounesse
      @mohamedyounesse ปีที่แล้ว

      @@SingletonSean good , thks you ,I wait to see it😍

  • @NoMore12345-z
    @NoMore12345-z 2 ปีที่แล้ว

    Is it possible for someone with ADHD and Dyslexia to ever become a decent programmer? This looks way overwhelming to me and I came from the WinForms generation. :(

    • @starlk_
      @starlk_ 2 ปีที่แล้ว

      Why wouldn't it be possible 🙂
      I'm pretty sure there are blind programmers out in the industry

    • @NoMore12345-z
      @NoMore12345-z 2 ปีที่แล้ว +1

      @@starlk_ Good point, trying to force myself to take 15 min breaks every 1 1/2 hrs during the tutorials. Goal 1 is to follow along and do what is done. Goal 2 is to take the app, make a v2 with a better UI, add more DB functions, add more commands, etc. Goal 3 is to make my own from scratch but for a diff purpose.

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      With goals like those, you're well on your way to becoming more than just a decent programmer 😁

  • @webdevfs9361
    @webdevfs9361 ปีที่แล้ว +1

    Really confusing code, many things could of been explained better and written clearer.

  • @AntoinetteFanny-l8s
    @AntoinetteFanny-l8s หลายเดือนก่อน

    Clark Steven Young Michael Lee Jennifer

  • @AntoinetteFanny-l8s
    @AntoinetteFanny-l8s หลายเดือนก่อน

    Walker Jennifer Wilson Edward Thompson Angela

  • @FredMyrna-x2f
    @FredMyrna-x2f หลายเดือนก่อน

    Young Kimberly Garcia Barbara Moore Barbara

  • @원승주-w2w
    @원승주-w2w 2 ปีที่แล้ว

    28:39

  • @Ibadez38
    @Ibadez38 6 หลายเดือนก่อน

    52:27 Yet another person who seems not to understand and must be producing poor quality code. I think their code must be hard to look at.

  • @kaiwei2263
    @kaiwei2263 ปีที่แล้ว

    hai Sean im having this error when im downloading the dropdownmenu package:
    Error Could not install package 'DropdownMenu.WPF 1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

  • @YusuPown
    @YusuPown ปีที่แล้ว +2

    Too fast, and too much for a simple app don't u think ? :/

    • @Ibadez38
      @Ibadez38 6 หลายเดือนก่อน

      The goal is not to blindly copy the code, but to understand concepts that can be applied to other more significant projects. A small project to demonstrate such concepts is very good.

  • @SoloEnLaCasa
    @SoloEnLaCasa 2 ปีที่แล้ว

    Hey Sean
    please could you help me with this issue
    i put the the logic for the Error and Status message in a class MessageViewModel
    MessageViewMode is instanced into the ViewModel
    now i try to consume that in the View, See code










    but a binding error is trown:
    ErrorMessageViewModel property not found on object of type MessageViewModel. Target TextBlock.DataContext
    Do you have any suggestion about it?
    Tanks very much for your response
    Regards
    MGA

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Hi MGA! The issue is that the Grid and the TextBlock DataContext's bind to an ErrorMessageViewModel. If you remove the TextBlock's DataContext binding, all your bindings should work.
      The reason the TextBlock doesn't need a DataContext set is that the TextBlock already inherits the DataContext from the Grid. Since the TextBlock inherits the DataContext from the Grid, all bindings set on TextBlock properties will already point to the ErrorMessageViewModel. By setting the TextBlock DataContext again, the DataContext is attempting to bind to an ErrorMessageViewModel.ErrorMessageViewModel property, which of course doesn't exist.
      Let me know if this makes sense!

    • @SoloEnLaCasa
      @SoloEnLaCasa 2 ปีที่แล้ว

      @@SingletonSean Hi
      the issue with the DataBinding at the TextBlock is fixed, but now appear three issues
      MessageViewModel AddTH-camViewersCommand Button.Command ICommand AddTH-camViewersCommand property not found on object of type MessageViewModel
      MessageViewModel TH-camViewersListingViewModel TH-camViewersListing.DataContext Object TH-camViewersListingViewModel property not found on object of type MessageViewModel.
      MessageViewModel TH-camViewersDetailsViewModel TH-camViewersDetails.DataContext Object TH-camViewersDetailsViewModel property not found on object of type MessageViewModel.
      the issues are now, because the DataContext for TH-camViewersView is ErrorMessageViewModel and no more the TH-camViewersViewModel
      Do you have any suggestion for the issues?
      Greetings MGA

  • @Pufffypaws
    @Pufffypaws ปีที่แล้ว +2

    This simple app has gotten so complex, I can't even think about trying to build a bigger project using MVVM right now 🥲

    • @генераторимен-ы7х
      @генераторимен-ы7х ปีที่แล้ว +1

      Well, as long as you're following the main principles of MVVM, you can scale the small app into a bigger one relatively easily.

    • @randypenajimenez3893
      @randypenajimenez3893 2 หลายเดือนก่อน

      ​@SlippinDude has a point. I love WPF but the moment you include mvvm in the ecuation everything gets complicated.

  • @prodByLavender
    @prodByLavender 2 ปีที่แล้ว

    In case you run into issues and get an error when adding migration just run "dotnet tool install --global dotnet-ef" in the terminal

    • @SingletonSean
      @SingletonSean  2 ปีที่แล้ว

      Ah good call out. I already had this tool installed from previous projects, so I lost track of mentioning this. Thanks for mentioning this, Lavender!

  • @aromatic6619
    @aromatic6619 ปีที่แล้ว

    36:00