Wim Coenen
Wim Coenen

Reputation: 66733

How are views constructed in Josh Smith's MVVM sample?

Being new to both WPF and MVVM, I'm studying Josh Smith's article on the MVVM pattern and the accompanying sample code.

I can see that the application is started in app.xaml.cs by constructing a MainWindow object, wiring it to a MainWindowViewModel object and then showing the main window. So far so good.

However, I can't find any code which instantiates the AllCustomersView or CustomerView classes. Using "find all references" on the constructors of those views comes up with nothing. What am I missing here?

Upvotes: 4

Views: 525

Answers (1)

Jobi Joy
Jobi Joy

Reputation: 50038

WPF's DataTemplate is doing the magic. For example when you set content of a Contentcontrol with an instance of CustomerViewModel with the below DataTemplate in your resource dictionary (usually in app.xaml). Then you are gonna see CustomerView usercontrol coming up in the UI.

<DataTemplate DataType="{x:Type vm:CustomerViewModel}">
  <vw:CustomerView />
</DataTemplate>

Upvotes: 6

Related Questions