Book Image

Mastering Windows Presentation Foundation

By : Yuen
Book Image

Mastering Windows Presentation Foundation

By: Yuen

Overview of this book

Windows Presentation Foundation is rich in possibilities when it comes to delivering an excellent user experience. This book will show you how to build professional-grade applications that look great and work smoothly. We start by providing you with a foundation of knowledge to improve your workflow – this includes teaching you how to build the base layer of the application, which will support all that comes after it. We’ll also cover the useful details of data binding. Next, we cover the user interface and show you how to get the most out of the built-in and custom WPF controls. The final section of the book demonstrates ways to polish your applications, from adding practical animations and data validation to improving application performance. The book ends with a tutorial on how to deploy your applications and outlines potential ways to apply your new-found knowledge so you can put it to use right away.
Table of Contents (13 chapters)

Shrinking data objects


Quite often, our applications will have fairly sizable data objects, with dozens, or even hundreds of properties. If we were to load all of the properties for each data object when we have thousands of them, our application would slow down and possibly even run out of memory.

We might think that we can save on RAM by simply not populating all of the property values, but if we use the same classes, we'll soon find that even the default or empty values for these properties may consume too much memory. In general and with a few exceptions, unset properties take the same amount of RAM as set properties.

If our data model object has a very large number of properties, one solution would be to break it down into much smaller pieces. For example, we could create a number of smaller, sub product classes, such as ProductTechnicalSpecification, ProductDescription, ProductDimension, ProductPricing, etc.

Rather than building one giant View to edit the whole product, we could then...