Tech Kaizen

passion + usefulness = success .. change is the only constant in life

Search this Blog:

WPF Learning Resources(Books, Online Resources including Blogs)

The Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications. WPF, initially released as part of .NET Framework 3.0, is another step in Microsoft’s evolving rich client strategy. Designed to remove dependencies on the aging GDI subsystem, WPF is built on DirectX, which provides hardware acceleration and enables modern UI features like transparency, gradients and transforms. WPF provides a consistent programming model for building applications and provides a clear separation between the user interface and the business logic.

The architecture of WPF spans across both managed code and native code components. However, the public API exposed is only available via managed code. While the majority of WPF is in managed code, the composition engine which renders the WPF applications is a native component. It is named Media Integration Layer (MIL) and resides in milcore.dll. It interfaces directly with DirectX and provides basic support for 2D and 3D surfaces, timer-controlled manipulation of contents of a surface with a view to exposing animation constructs at a higher level, and compositing the individual elements of a WPF application into a final 3D "scene" that represents the UI of the application and renders it to the screen. The media codecs are also implemented in unmanaged code, and are shipped as windowscodecs.dll. In the managed world, PresentationCore (presentationcore.dll) provides a managed wrapper for MIL and implements the core services for WPF, including a property system that is aware of the dependencies between the setters and consumers of the property, a message dispatching system by means of a Dispatcher object to implement a specialized event system and services which can implement a layout system such as measurement for UI elements. PresentationFramework (presentationframework.dll) implements the end-user presentational features, including layouts, time-dependent, story-board based animations, and data binding.

WPF Deployment:

WPF isn't just for building traditional standalone applications. Its deployment model offers both standalone andXAML Browser Applications (XBAP) flavors. The programming model for building either flavor of application is similar.

1. Standalone applications are those that have been locally installed on the computer using software such as ClickOnce or Windows Installer (MSI) and which run on the desktop. Standalone applications are considered full trustand have full access to a computer's resources.

2. XAML Browser Applications (XBAPs) are programs that are hosted inside a web browser. Hosted applications run in a partial trust sandbox environment, and are not given full access to the computer's resources and not all WPF functionality is available. The hosted environment is intended to protect the computer from malicious applications. Starting an XBAP (pronounced "ex-bap") from an HTML page or vice versa is seamless (there is no security or installation prompt). Although one gets the perception of the application running in the browser, it actually runs in an out-of-process executable different from the browser. As of the release of .NET Framework 3.0, XBAPs only run in Internet Explorer. With the release of .NET Framework 3.5 SP1 they also run in Mozilla Firefox using the included XBAP extension.

Books

Windows Presentation Foundation Unleashed by Adam Nathan - Probably the most popular of all the current WPF books out there right now. It is a great book and one of the best introductions to WPF.

Programming WPF by Chris Sells and Ian Griffiths - Also a good and easy read. Good intro and goes a little more in depth than WPF Unleashed.

Pro WPF in C# 2008 by Matthew MacDonald: May not the best intro book as it is huge, but it has a ton of useful information and examples and goes in depth in a lot of topics. It's a kind of reference book.

Online Resources
Lots and lots of samples and tutorials. This is one of my favorite one resources for tutorials -
http://www.codeproject.com/KB/WPF/ -

Microsoft WPF and Windows Forms official public home -
http://windowsclient.net/default.aspx

WPF Videos - http://windowsclient.net/learn/videos_wpf.aspx

Learning WPF -
http://channel9.msdn.com/wiki/default.aspx/ -

WPF Resources -
http://wpf-resources.com/default.aspx

Windows Presentation Foundation -
http://msdn.microsoft.com/en-us/library/ms754130.aspx

WPF : Getting started - http://msdn.microsoft.com/en-us/library/ms742119.aspx

WPF and Win32 Interoperation Overview - http://msdn.microsoft.com/en-us/library/ms742522.aspx

Download Microsoft healthcare prototype using WPF(Windows Presentation Framework) - http://windowsclient.net/downloads/folders/wpfsamples/entry3754.aspx

An Introduction to Windows Presentation Foundation - http://msdn.microsoft.com/en-us/library/aa480192.aspx

Patterns For Building Composite Applications With WPF -
http://msdn.microsoft.com/en-us/magazine/cc785479.aspx

Blogs
Windows Presentation Foundation
3D Team (web feed)
Text Team (
web feed)
XPS Team (
web feed)
Peter Antal (
web feed)
Leonardo Blanco (
web feed)
Tim Cahill (
web feed)
Ben Constable (
web feed)
Beatriz Costa (
web feed)
Pablo Fernicola (
web feed)
Henry Hahn (
web feed)
Mike Hillberg (
web feed)
Karsten Januszewski (
web feed)
Prajakta Joshi (
web feed)
Ben Kuhn (
web feed)
Lauren Lavoie (
web feed)
Daniel Lehenbauer (
web feed)
Lester Lobo (
web feed)
Marcelo Lopez Ruiz (
web feed)
Ivo Manolov (
web feed)
Adam Nathan (
web feed)
Keyvan Nayyeri (
web feed)
Rob Relyea (
web feed)
Jaime Rodriguez (
web feed)
Greg Schechter (
web feed)
Ashish Shetty (
web feed)
Tim Sneath (
web feed)
Mike Swanson (
web feed)
Robert Wlodarczyk (
web feed)
Feng Yuan (
web feed)

Silverlight
Barak Cohen (
web feed)
Karen Corby (
web feed)
Mike Harsh (
web feed)
Adam Kinney (
web feed)
Nick Kramer (
web feed)
Laurence Moroney (
web feed)
Seema Ramchandani (
web feed)
Joe Stegman (
web feed)

Expression Blend
Expression Team (web feed)
Peter Blois (
web feed)
Dante Gagne (
web feed)
Alan Gasperini (
web feed)
John Gossman (
web feed)
Michael Hunter (
web feed)
Amir Khella (
web feed)
Joe Marini (
web feed)
Lingesh Palaniappan (
web feed)
Unni Ravindranathan (
web feed)
Lutz Roeder (
web feed)
Adam Ulrich (
web feed)
Adrian Vinca (
web feed)

Visual Studio Extensions for WPF
Richard Bailey (web feed)
Chuck Jazdzewski (
web feed)
James Nakashima (
web feed)

Community Voices
Guillaume Andre (web feed)
Gustavo Arranhado (
web feed)
Andrej Benedik (
web feed)
Ruurd Boeke (
web feed)
Lee Brimelow (
web feed)
Eric Burke (
web feed)
Chad Campbell (
web feed)
Chaz (
web feed)
Ryan Dawson (
web feed)
Olivier Dewit (
web feed)
Nathan Dunlap (
web feed)
Rob Eisenberg (
web feed)
Michael Emmons (
web feed)
Geek Tie Guy (
web feed)
Ian Griffiths (
web feed)
Grant Hinkson (
web feed)
Valentin Iliescu (
web feed)
Drew Marsh (
web feed)
Simon Middlemiss (
web feed)
Charles Petzold (
web feed)
Pavan Podila (
web feed)
Walt Ritscher (
web feed)
Josh Smith (
web feed)
Douglas Stockwell (
web feed)
Andrew Stopford (
web feed)
Thirteen23 (web
feed)

ref :
Vincent Sibal's Blog -
http://blogs.msdn.com/vinsibal/archive/2008/05/20/wpf-learning-resources.aspx

Tim Sneath's Blog -
http://blogs.msdn.com/tims/pages/windows-presentation-foundation-blogs.aspx

Note:

1. If you are a C or C++ Programmer Needs to Know about C# and the .NET Framework , please download this Free online copy of Charles Petzold's book called '.NET Book Zero' - http://www.charlespetzold.com/dotnet/DotNetBookZero11.pdf

2. According to Petzold, there are two essential books that every C# and .NET programmer should have -

The first book is C# Programming Language Spec by Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. Downloadable versions of The C# Programming Language are available under the title C# Language Specification from this Web page - http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx

The second book is a .NET book is Jeffrey Richter‘s CLR via C# (Microsoft Press, 2006), which is actually the second edition of Applied Microsoft .NET Framework Programming.

Miscellaneous Links:

1. Awesomium(WPF WebBrowser)
(Its a mix of the Google Chromium project, (a wrapper called Awesomium) and a WPF) )

What Is Awesomium?
Awesomium is a library that makes it easy for developers to embed the web in their applications. For example, it can be used for:
· Powering an in-game GUI using HTML/JS/CSS
· Rendering a live web-page to a 3D object and interacting with it
· A framework for an advanced, 3D web-browser
· An offscreen renderer for snapshots or recordings of web-pages
· The implementation of in-game advertisting.
· and more!

Links:

http://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/

Source Code -
http://wpfchromium.codeplex.com/

2. Google Books Downloader

http://www.codeplex.com/GoogleBookDownloader

3. .Net3.5 Namespace Poster

http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET35_Namespaces_Poster_LORES.pdf

4. Debugging in WPF – WPF Disciples tips and tricks

http://wpfdisciples.wordpress.com/2008/04/04/debugging-in-wpf-wpf-disciples-tips-and-tricks/

5. Guidance on Differences Between WPF and Silverlight

http://wpfslguidance.codeplex.com/

6. WPF Localization Guidance Whitepaper

http://wpflocalization.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29389

7. Printing Contents of WPF RichTextBox

http://blogs.msdn.com/prajakta/archive/2007/01/03/printing-contents-of-wpf-richtextbox.aspx

8. WPF Model-View-ViewModel (MVVM) Toolkit 0.1

The WPF team has just released an MVVM Toolkit which contains an overview and walkthrough of the MVVM pattern, a full Messenger sample app using MVVM, as well as a Visual Studio template for MVVM. The template creates a WPF application with folders for Views, ViewModels, Models, and Commands.

Source Code -
http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962

9. TestApi

TestApi is a library of test and utility APIs that enables developers and testers to create automated tests for .NET and Win32 applications. TestApi provides a set of common test building blocks -- data-structures and algorithms -- in a simple, layered, componentized and documented stack.

http://www.codeplex.com/TestApi

10. WPF Futures Downloads

http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962

Labels: .NET DEVELOPMENT
Newer Post Older Post Home

The Verge - YOUTUBE

Loading...

Google - YOUTUBE

Loading...

Microsoft - YOUTUBE

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

NEET CODE - YOUTUBE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Y Combinator Discussions

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering YOUTUBE

Loading...

Tanay Pratap YOUTUBE

Loading...

Ashish Pratap Singh YOUTUBE

Loading...

Questpond YOUTUBE

Loading...

Kantan Coding YOUTUBE

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

STANFORD UNIVERSITY - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

NPTEL IIT MADRAS - YOUTUBE

Loading...

NPTEL HYDERABAD - YOUTUBE

Loading...

MIT News

Loading...

MIT News - Artificial intelligence

Loading...

The Berkeley Artificial Intelligence Research Blog

Loading...

Microsoft Research

Loading...

MachineLearningMastery.com

Loading...

Harward Business Review(HBR)

Loading...

Wharton Magazine

Loading...
My photo
Krishna Kishore Koney
View my complete profile
" It is not the strongest of the species that survives nor the most intelligent that survives, It is the one that is the most adaptable to change "

View krishna kishore koney's profile on LinkedIn

Monthly Blog Archives

  • ►  2025 (2)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (17)
    • ►  November (1)
    • ►  September (7)
    • ►  August (1)
    • ►  June (8)
  • ►  2019 (18)
    • ►  December (1)
    • ►  November (2)
    • ►  September (3)
    • ►  May (8)
    • ►  February (1)
    • ►  January (3)
  • ►  2018 (3)
    • ►  November (1)
    • ►  October (1)
    • ►  January (1)
  • ►  2017 (2)
    • ►  November (1)
    • ►  March (1)
  • ►  2016 (5)
    • ►  December (1)
    • ►  April (3)
    • ►  February (1)
  • ►  2015 (15)
    • ►  December (1)
    • ►  October (1)
    • ►  August (2)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  January (2)
  • ►  2014 (13)
    • ►  December (1)
    • ►  November (2)
    • ►  October (4)
    • ►  August (5)
    • ►  January (1)
  • ►  2013 (5)
    • ►  September (2)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2012 (19)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (1)
    • ►  April (2)
    • ►  February (3)
    • ►  January (2)
  • ►  2011 (20)
    • ►  December (5)
    • ►  August (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (2)
    • ►  January (1)
  • ►  2010 (41)
    • ►  December (2)
    • ►  November (1)
    • ►  September (5)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
    • ►  May (8)
    • ►  April (2)
    • ►  March (3)
    • ►  February (5)
    • ►  January (11)
  • ▼  2009 (113)
    • ►  December (2)
    • ►  November (5)
    • ▼  October (11)
      • WPF and Windows Messages(WndProc)
      • WPF Learning Resources(Books, Online Resources inc...
      • Inversion of Control(IOC) / Dependency Injection(D...
      • C++ VC++ Interview - What to Focus ???
      • J2EE Programming Tips
      • Model/View/ViewModel (MVVM) Pattern and Windows Pr...
      • 64-bit Applications and .Net Platform
      • Windows Services and Windows 7
      • Windows 7 new APIs and Libraries
      • WPF vs Windows Forms vs MFC
      • Microsoft Architecture Journal online
    • ►  September (1)
    • ►  August (14)
    • ►  July (5)
    • ►  June (10)
    • ►  May (4)
    • ►  April (7)
    • ►  March (11)
    • ►  February (15)
    • ►  January (28)
  • ►  2008 (61)
    • ►  December (7)
    • ►  September (6)
    • ►  August (1)
    • ►  July (17)
    • ►  June (6)
    • ►  May (24)
  • ►  2006 (7)
    • ►  October (7)

Blog Archives Categories

  • .NET DEVELOPMENT (38)
  • 5G (5)
  • AI (Artificial Intelligence) (9)
  • AI/ML (4)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (45)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • DOMAIN KNOWLEDGE (14)
  • EDGE COMPUTING (4)
  • EMBEDDED SYSTEMS (9)
  • ENTERPRISE ARCHITECTURE (10)
  • IMAGE PROCESSING (3)
  • INTERNET OF THINGS (2)
  • J2EE PROGRAMMING (10)
  • KERNEL DEVELOPMENT (6)
  • KUBERNETES (19)
  • LATEST TECHNOLOGY (18)
  • LINUX (9)
  • MAC OPERATING SYSTEM (2)
  • MOBILE APPLICATION DEVELOPMENT (14)
  • PORTING (4)
  • PYTHON PROGRAMMING (6)
  • RESEARCH AND DEVELOPMENT (1)
  • SCRIPTING LANGUAGES (8)
  • SERVICE ORIENTED ARCHITECTURE (SOA) (10)
  • SOFTWARE DESIGN (13)
  • SOFTWARE QUALITY (5)
  • SOFTWARE SECURITY (23)
  • SYSTEM and NETWORK ADMINISTRATION (3)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (31)
  • TECHNOLOGY INTEGRATION (5)
  • TEST AUTOMATION (5)
  • UNIX OPERATING SYSTEM (4)
  • VC++ PROGRAMMING (44)
  • VIRTUALIZATION (8)
  • WEB PROGRAMMING (8)
  • WINDOWS OPERATING SYSTEM (13)
  • WIRELESS DEVELOPMENT (5)
  • XML (3)

Popular Posts

  • Observer Pattern - Push vs Pull Model
  • AI Agent vs AI Workflow
  • Microservices Architecture ..
  • SSCLI(Shared Source Common Language Infrastructure)

My Other Blogs

  • Career Management: Invest in Yourself
  • Color your Career
  • Attitude is everything(in Telugu language)
WINNING vs LOSING

Hanging on, persevering, WINNING
Letting go, giving up easily, LOSING

Accepting responsibility for your actions, WINNING
Always having an excuse for your actions, LOSING

Taking the initiative, WINNING
Waiting to be told what to do, LOSING

Knowing what you want and setting goals to achieve it, WINNING
Wishing for things, but taking no action, LOSING

Seeing the big picture, and setting your goals accordingly, WINNING
Seeing only where you are today, LOSING

Being determined, unwilling to give up WINNING
Gives up easily, LOSING

Having focus, staying on track, WINNING
Allowing minor distractions to side track them, LOSING

Having a positive attitude, WINNING
having a "poor me" attitude, LOSING

Adopt a WINNING attitude!

Total Pageviews

who am i

My photo
Krishna Kishore Koney

Blogging is about ideas, self-discovery, and growth. This is a small effort to grow outside my comfort zone.

Most important , A Special Thanks to my parents(Sri Ramachandra Rao & Srimathi Nagamani), my wife(Roja), my lovely daughter (Hansini) and son (Harshil) for their inspiration and continuous support in developing this Blog.

... "Things will never be the same again. An old dream is dead and a new one is being born, as a flower that pushes through the solid earth. A new vision is coming into being and a greater consciousness is being unfolded" ... from Jiddu Krishnamurti's Teachings.

Now on disclaimer :
1. Please note that my blog posts reflect my perception of the subject matter and do not reflect the perception of my Employer.

2. Most of the times the content of the blog post is aggregated from Internet articles and other blogs which inspired me. Due respect is given by mentioning the referenced URLs below each post.

Have a great time

My LinkedIn Profile
View my complete profile

Failure is not falling down, it is not getting up again. Success is the ability to go from failure to failure without losing your enthusiasm.

Where there's a Will, there's a Way. Keep on doing what fear you, that is the quickest and surest way to to conquer it.

Vision is the art of seeing what is invisible to others. For success, attitude is equally as important as ability.

Favourite RSS Syndications ...

Google Developers Blog

Loading...

Blogs@Google

Loading...

Berklee Blogs » Technology

Loading...

Martin Fowler's Bliki

Loading...

TED Blog

Loading...

TEDTalks (video)

Loading...

Psychology Today Blogs

Loading...

Aryaka Insights

Loading...

The Pragmatic Engineer

Loading...

Stanford Online

Loading...

MIT Corporate Relations

Loading...

AI at Wharton

Loading...

OpenAI

Loading...

AI Workshop

Loading...

Hugging Face - Blog

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

Google Cloud Tech

Loading...

3Blue1Brown

Loading...

Bloomberg Originals

Loading...

Dwarkesh Patel Youtube Channel

Loading...

Reid Hoffman

Loading...

Aswath Damodaran

Loading...