Related Titles
- Full Description
-
WPF and Silverlight are unlike any other user interface (UI) technologies. They have been built to a new paradigm thatif harnessed correctlycan yield unprecedented power and performance. This book shows you how to control that power to produce clean, testable, maintainable code.
It is now recognized that any non-trivial WPF or Silverlight application needs be designed around the Model-View-ViewModel (MVVM) design pattern in order to unlock the technology's full data-binding potential.
However, the knowledge of how to do this is missing from a large part of the development communityeven amongst those who work with WPF and Silverlight on a daily basis. Too often there is a reliance on programmatic interaction between controls and not enough trust in the technologies' data-binding capabilities. This leads to a clouding of design values and an inevitable loss of performance, scalability, and maintainability throughout the application.
Pro WPF and Silverlight MVVM will show you how to arrange your application so that it can grow as much as required in any direction without danger of collapse.What youll learn
- Understand why the separation of an applications View and its Model is paramount, including the history of Model-View-Presenter and Model-View-Controller.
- Apply WPF and Silverlights powerful data-binding model correctly.
- Examine how to organize an application targeting WPF or Silverlight, including unit-testing, source-control, separation of concerns, data serialization, and how to tie everything together with MVVM.
- Develop a full game development application using MVVM by example.
- How to serialize the Model without being invasive, how to implement a plug-in architecture that extends both the View and the Model, and how to handle Exceptions gracefully.
Who this book is for
Developers that wish to learn how to architect WPF or Silverlight applications to ensure maintainability, testability, and separation of concerns.
- Table of Contents
-
Table of Contents
- Overview of WPF and Silverlight
- DataBinding
- Model-View Separation
- The ViewModel
- Events and Commands
- Validation
- Unit Testing
- Data Access Layer
- Application Support
- Sample Application
- Source Code/Downloads
- Errata
-
If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.
On page 81:Installing the downloaded template results an error when creating a project.
The downloaded wizard is not the same as in the book and it's not working properly
Is there an new version available ??
On page 81 ff. Chapter 4:Hi,
the Visual Studio MVVM Project Template being part of the source code archive which can be downloaded, does not correspond to the one described in the book.
The book describes the calculation of square roots wheras the online template deals with calculation of sums.
Please be so kind and verify it.
At present it is therefore impossible to follow the example which is described in the book.
On page 85:The text on page 85 states that the view model project contains presentationcore and windowsbase references but Figure 4-6 does not show this.
On page 96:In C#, unlike in C, you can't test a conditional for zero.
"Appointment appointment = e.Item as Appointment;
if(appointment)"
Should read:
"Appointment appointment = e.Item as Appointment;
if(appointment != null)"
On page 100:"if(dialogResult)"
should be
"if(dialogResult.HasValue && dialog.Value)"
a nullable type does not convert directly to the type without casting or using it's Value property.
On page 100:"if(dialogResult)"
should be
"if(dialogResult.HasValue && dialogResult.Value)"
a nullable type does not convert directly to the type without casting or using it's Value property.
On page 185:
In the introduction to Chapter 9: Application Support, 4 application support "modules" are said to be discussed. Listed are: the serialization of the object graph, implementing a data access layer, allowing users to configure the behavior and settings of the application, and adding extensibility via plug-ins.
Of these subjects, only serialization and extensibility are actually covered in the chapter.
On page 208:line from operator + should be:
return new Money(lhs.Amount + rhs.Amount);




