Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Mastering Windows Presentation Foundation Second Edition
About Packt
Why subscribe?
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
A Smarter Way of Working with WPF
What is MVVM and how does it help?
Models
View Models
Views
Data binding
So how does MVVM help?
Is there a downside?
Debunking the myth about code behind
Learning how to communicate again
Introducing the ICommand interface
Handling events in Attached Properties
Making use of delegates
Structuring the application code base
Summary
Debugging WPF Applications
Utilizing the output window
Putting Presentation Trace Sources to work
Discovering inner exceptions
Debugging data bound values
Outputting values to UI controls
Catching changing Dependency Property values
Exploiting converters
Summary
Writing Custom Application Frameworks
What is an application framework?
Encapsulating common functionality
In base classes
Through interfaces
With Extension Methods
In UI controls
With converters
Constructing a custom application framework
Separating the Data Access Layer
Providing services
Implementing Dependency Injection
Connecting Views with View Models
Locating View Models
Summary
Becoming Proficient with Data Binding
Data binding basics
Binding path syntax
Escaping invalid characters
Exploring the Binding class
Directing data bound traffic
Binding to different sources
Binding with priority
Binding from within control templates
Binding source changes
Converting data bound values
Binding multiple sources to a single target property
Dependency Properties
Setting metadata
Declaring read-only Dependency Properties
Registering Attached Properties
Prioritizing value setting sources
Data templates
Taking complete control
Displaying hierarchical data
Data binding to enumeration collections
Summary
Using the Right Controls for the Job
Investigating the built-in controls
Inheriting framework abilities
Laying it on the line
Containing controls
Canvas
DockPanel
Grid
StackPanel
UniformGrid
WrapPanel
Providing custom layout behavior
Content controls
Presenting content
Items controls
Adorners
Modifying existing controls
Styling
Being resourceful
Merging resources
Triggering changes
Templating controls
Attaching properties
Combining controls
Creating custom controls
Summary
Adapting the Built-In Controls
Inspecting protected methods
Clipping the layout
Altering default behavior
Creating overridable methods
Tailoring to attain our requirements
Populating with Data
Progressing toward the Target
Highlighting the selection
Indicating in the Axes
Emphasizing the Selection
Summary
Mastering Practical Animations
Investigating timelines
Introducing key-frames
Telling stories
Controlling storyboards
Easing functions
Animating along a path
Creating everyday animations
Summary
Creating Visually Appealing User Interfaces
Styling applications consistently
Overriding default control styles
Using professional icons
Layering visuals
Throwing shadows
Declaring multiple borders
Reusing composite visuals
Reflecting light
Creating glowing effects
Putting it all together
Moving away from the ordinary
Casting reflections
Exploring borderless windows
Visualizing data
Livening up the UI controls
Summary
Implementing Responsive Data Validation
Using validation rules – to do or not to do?
Getting to grips with validation interfaces
Implementing the IDataErrorInfo interface
Introducing the INotifyDataErrorInfo interface
Annotating data
Varying levels of validation
Incorporating multiple validation techniques
Customizing the error template
Avoiding UI-based validation errors
Keeping Synchronized with Legacy Behavior
Amalgamating validation and visuals
Summary
Completing that Great User Experience
Providing user feedback
Utilizing multiple threads
Discovering the Async and Await keywords
Building asynchrony into our framework
Going the extra mile
Producing in-application help
Enabling user preferences
Extending common courtesies
Unburdening the end user
Summary
Improving Application Performance
Leveraging the power of hardware rendering
Making more efficient resources
Freezing objects
Using the right controls for performance
Drawing conclusions
Imaging more efficiently
Enhancing the performance of textual output
Liking the linking
Data binding
Registering Dependency Properties
Binding to collections
Shrinking data objects
Virtualizing collections
Handling events
Summary
Deploying Your Masterpiece Application
Installing Windows applications
Introducing the Setup Project
Working with the InstallShield Limited Edition project
Utilizing ClickOnce functionality
Securing deployments
Isolating storage
Accessing application versions
Summary
What Next?
Turning your attention to future projects
Improving our application framework
Logging errors
Using online resources
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →