Practical MVVM by Joel Cochran - Tech Connection Live!

MESCIUS inc. · 31K views · 2012 · 1:16:31

Open on YouTube

Software architecture & designWeb developmenttalkdated

Why Stack Overflow recommends it

Stack Overflow users link it as a beginner-friendly introduction to MVVM and WPF data binding when answering questions from people new to the pattern.

Recommended by 4 people across 3 different months, 2013 to 2015.

What it is

A 76-minute conference-style talk by Joel Cochran introducing MVVM through "The Practical MVVM Manifesto", a set of guidelines for architecting XAML applications. It then walks through a sample implementation covering ViewModel-to-View relationships, ViewModel design patterns, binding strategies and commands.

What people said

Strong rec Trae Moore · 2013-11 · Stack Overflow · on “How to apply Business Logic with Data Binding in .NET?”

I think what you're looking for is the MVVM pattern that is implemented in the WPF architecture. Here is a very helpful link. Joel Cochran, who works for Microsoft posted this and it is extremely helpful for just starting in WPF and MVVM [this video] By the time you finish this you should have a clear understanding of Data Binding and the MVVM pattern. Hope this helps. Also, in agreement with Josh's post about WinForms not being a good platform for implementing this.

Recommends Immortal Blue · 2013-11 · Stack Overflow · on “How to pass data between the View and the ViewModel”

Hey there :) As you've stated, you've not had much experience and don't understand much with MVVM, so although I could answer this question, I think the best thing I could do is provide you with a few links to watch : [this video] and [LINK] The second video is from the guy who wrote MVVM-light. They basically cover the same material, but both bring a slightly different perspective!

Recommends Immortal Blue · 2013-11 · Stack Overflow · on “How to pass data between the View and the ViewModel”

(cheekily posted from my comment) As you've stated, you've not had much experience and don't understand much with MVVM, so although I could answer this question, I think the best thing I could do is provide you with a few links to watch : [this video] and [LINK] The second video is from the guy who wrote MVVM-light. They basically cover the same material, but both bring a slightly different perspective!

Recommends michal.ciurus · 2014-01 · Stack Overflow · on “Best practice of when to load data into a ListBox”

It sounds like you need to educate yourself on proper MVVM approach. It'll take you hours to get accustomed to it , especially if you're from game programming but believe me, it's worth it. Here's an introduction straight from Microsoft: [this video] There's tons of tutorials online. Good luck!

Recommends michal.ciurus · 2014-01 · Stack Overflow · on “Removing UserControl code behind for use with MVVM”

It's pretty easy. Let's say you have: MyUserControlView.xaml MYUserControlViewModel.cs MyMainWindowView.xaml - For your MainWindow view (the one containing the UserControl ) MyMainWindowViewModel.cs - Your MainWindow ViewModel. And you want to bind List<string> MyListToBind And leave the code-behind completely empty. MyUserControlViewModel.cs public class MyUserControlViewModel { private List<string> _MyListToBind; public List<string> MyListToBind { get; set;} } MyMainWindowViewModel.cs public class MyUserControlViewModel { private MyUserControlViewModel _MyControlViewModel; public MyUserControlViewModel MyControlViewModel { get; set;} } MyMainWindowView.xaml <Window ... xmlns:my="clr-namesp

Recommends MaorB · 2015-02 · Stack Overflow · on “Why Commands are taken from ViewModel Class?”

I've just finished watching " Practical MVVM by Joel Cochran [this video] " video explaining MVVM, and i didn't understand a key problem. In the video Joel explaining that the View is unaware of the ViewModel, but still the button is bound to a command within the ViewModel, so every time the button get pressed, the command action is performed. My question is how the View is unaware of the ViewModel if I need to specifically bind the button to the ViewModel command like: private ICommand _searchByNameCommand; public ICommand SearchByNameCommand { get { if (_searchByNameCommand == null) { _searchByNameCommand = new RelayCommand( p => this.LoadRealEstateCollectionByName(), p => { return !String.IsNu