What is XAML?
XAML is a declarative markup
language. As applied to the .NET Framework programming model, XAML simplifies
creating a UI for a .NET Framework application. You can create visible UI
elements in the declarative XAML markup, and then separate the UI definition
from the run-time logic by using code-behind files, joined to the markup
through partial class definitions. XAML directly represents the instantiation
of objects in a specific set of backing types defined in assemblies. This
is unlike most other markup languages, which are typically an interpreted
language without such a direct tie to a backing type system. XAML enables a
workflow where separate parties can work on the UI and the logic of an application,
using potentially different tools.
When represented as text, XAML files
are XML files that generally have the .xaml extension. The files can be encoded by any XML encoding, but
encoding as UTF-8 is typical.
XAML in WPF:
Extensible
Application Markup Language (XAML) is a markup language for declarative
application programming. Windows Presentation Foundation (WPF) implements
aXAML processor implementation, and provides XAML language support. The
WPF types are implemented such that they can provide the required type backing
for a XAML representation. In general, you can create the majority of your
WPF application UI in XAML markup.
What is WPF?
Windows Presentation Foundation (WPF) is a unified
presentation subsystem for Windows, exposed through WinFX, the managed-code
programming model for Windows Vista that extends the Microsoft .NET Framework.
WPF consists of a display engine and a managed-code framework. WPF unifies how
Windows creates, displays, and manipulates documents, media, and user interface
(UI), enabling developers and designers to create visually stunning,
differentiated user experiences.
WPF is based on managed code but uses a markup
language, Extensible Application Markup Language (XAML), to make building
applications much easier for designers. XAML-based applications currently
support C# and Microsoft Visual Basic .NET. If you write a WPF application
entirely in procedural code, you can use any common language runtime (CLR)
language.
WPF Architecture
System.Object
System.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.UIElement
System.Windows.FrameworkElement
System.Windows.Controls.Control
WPF is actually a set of assemblies that build up the entire framework.
These assemblies can be categorized as:
Managed Layer
UnManaged Layer
Core API
Device Independent Pixel (DPI)
Built-In Support for Graphics and Animation
Redefine Styles and Control Templates
Resource based Approach for every control
New Property System & Binding Capabilities
(Source From MSDN)