what is windows presentation foundation (wpf)

This device is not currently supported for these products.

what is windows presentation foundation (wpf)

Windows Presentation Foundation

WPF, .NET platform and Visual Studio enable you to develop data-centric, modern line of business applications

  • Community 2022
  • Professional 2022
  • Enterprise 2022

.NET Framework graphic

.NET Framework

Power, security, and flexibility.

.NET Framework for desktop provides a comprehensive and consistent programming model for building data-centric applications that enable seamless and secure communication.

Rich, productive, extensible

Windows Presentation Foundation (WPF) and XAML combine into a rich presentation system for building Windows desktop applications with visually stunning user experiences that incorporate UI, media, and complex business models. Rapidly develop enterprise-class line of business applications with a comprehensive set of features like controls, data binding, animation, styles, templates and more.

Code (1)

IntelliSense, navigation, refactoring

Enhance your developer productivity with advanced syntax highlighting, IntelliSense code completion, and intuitive source navigation in the code editor built on the .NET Compiler Platform (“Roslyn “) . Optimize and maintain your code-base with powerful refactoring and duplicate code detection tools.

Professional, sophisticated experiences

Create engaging user interfaces for Windows Desktop Applications with Blend for Visual Studio, the premier professional design tool for XAML applications. Build beautiful transitions and visualizations using Blend’s full suite of vector drawing tools, powerful template editing features, real-time animation, visual state management and more.

Design (1)

Azure, Office 365, Salesforce and more

Easily integrate with cloud services like Azure, Salesforce and Office 365 with the Visual Studio Services Manager for Connected Services. Seamlessly manage your servers, services and databases with features like Server Explorer and Data Sources.

Debug and analyze

Troubleshoot, diagnose, fix.

Streamline your development experience with first class debugging features like IntelliTrace, Code execution control and inspection, UI debugging tools for XAML, and a great experience for understanding and resolving Exceptions.

what is windows presentation foundation (wpf)

Measure, identify, improve

Optimize your WPF applications by using tools like CPU Usage, Memory Usage, GPU Usage and App Timeline in the Performance and Diagnostics hub. Identify bottlenecks and improve your performance with a scenario-centric view of resource usage in your application.

Validate, automate, manage

Adopt testing practices such as manual, automated, exploratory and load testing with Visual Studio and Team Foundation Server. Easily automate the process of building, deploying, and running tests in your lab environment with Visual Studio’s Lab Management tools.

test case

Package, publish, update

Create packages for Microsoft Windows Installer using the Visual Studio Setup Projects. Build and publish self-updating applications using Visual Studio’s support for ClickOnce .

Vibrant ecosystem

Open source, controls, frameworks, and tools.

Engage with a passionate developer community and quickly adopt established and emerging patterns and practices with a large number of third-party and Open Source libraries. The community is further bolstered by the presence of reputed control and tool vendors building extensive sets of components and controls for the platform.

Visual Studio Community 2022

Free, fully-featured IDE for students, open-source and individual developers

Visual Studio Professional 2022

Professional developer tools, services, and subscription benefits for small teams

Visual Studio Enterprise 2022

End-to-end solution to meet demanding quality and scale needs of teams of all sizes

  • .NET Framework
  • C# Data Types
  • C# Keywords
  • C# Decision Making
  • C# Delegates
  • C# Constructors
  • C# ArrayList
  • C# Indexers
  • C# Interface
  • C# Multithreading
  • C# Exception

What is WPF?

Windows Presentation Foundation(WPF) is a development framework used to create a desktop application. It is a part of the .NET framework . The WPF has a resolution-independent and vector-based rendering engine which is helpful to deal with modern graphics hardware. The latest version of WPF is 4.6 . In this framework, UI of the application is designed in XAML language and Application logic is Written in C# programming language.

Features of WPF are as following:

  • Extensible Application Markup Language (XAML)
  • Data Binding
  • 2D and 3D graphics

WPF Architecture: The major components of the WPF are PresentationFramework, PresentationCore, Milcore, Common Language Runtime(CLR) , User32, Kernel. Milcore is written in unmanaged code in order to enable tight integration with DirectX, which is responsible for display. WPF has fine control over memory and execution. The composition engine in milcore is extremely performance-sensitive and required giving up many advantages of the Common Language Runtime to gain performance.

Creating a WPF Application Using Visual Studio 2019

Step 1: Open Visual Studio and select Create a new project under the Get started menu. The Create a new project dialog opens. Select the WPF App (.NET Framework) template and then select Next .

Create a new peoject dialog box

Step 2: The Configure your new project dialog opens. Enter the project name IntroductionToWPFApplication and then select Create .

Configure your new project dialog box

Visual Studio creates the project and opens the designer for the default application window named MainWindow.xaml .

MainWindow.xaml

  • Solution Explorer Window: It is used to navigate between all files in Project. For example, if you will select a file from this window then all the properties related to this file will be seen property window.
  • Properties Window: This window is used to change the different properties of the selected item in the Solution Explorer. Also, you can change the properties of components or controls that you will add to the App.
  • Compiler Log: This window displays the error and warning messages.
  • Xaml Code Editor: In this window we can write the xaml code for UI of App.
  • Preview Window: We can see the preview of the window how the window will look like.

You can also reset the window layout by setting it to default. To set the default layout, go to Window -> Reset Window Layout in Visual Studio Menu.

Step 3: Now to add the controls to your WPF application go to Toolbox tab present in the extreme left side of Visual Studio. Here, you can see a list of controls. To access the most commonly used controls go to Common Controls present in the Toolbox tab.

Toolbox Menu

Step 4: Now drag and drop the controls that you needed on created Form. For example, if you can add TextBox, ListBox, Button, etc. as shown below. By clicking on the particular control in the preview window you can see and change its properties present in the rightmost corner of Visual Studio.

ToolBox Demo

In the above image, you can see the TextBox is selected and its properties are opened in the rightmost corner. You can change its properties’ values as per the application need. The code of controls will be automatically added in the XAML code editor.

Step 5: To run the program you can use an F5 key or Play button present in the toolbar of Visual Studio. To stop the program you can use the pause button present in the ToolBar. You can also run the program by going to Debug-> Start Debugging menu in the menubar.

Running Application Demo

If you worked with Windows Forms previously then it will be very easy to work with WPF.

Advantages of WPF:

  • It uses current standard because it is newer
  • the developers of the controls will likely be more focused on WPF because it’s XAML makes it easy to create and edit your UI and allows the development work to be separated between a designer (XAML) and a programmer(C#).
  • Databinding is used to make a clean separation between data and layout.
  • Uses hardware efficiently for drawing the UI, for better performance.
  • It is used to make user interfaces for both Windows applications and web applications.

Please Login to comment...

Similar reads.

  • Discord Emojis List 2024: Copy and Paste
  • Best Adblockers for Twitch TV: Enjoy Ad-Free Streaming in 2024
  • PS4 vs. PS5: Which PlayStation Should You Buy in 2024?
  • Best Mobile Game Controllers in 2024: Top Picks for iPhone and Android
  • System Design Netflix | A Complete Architecture

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

WPF is a .NET Core UI framework for building Windows desktop applications.

Folders and files

NameName
5,750 Commits
Microsoft.DotNet.Wpf Microsoft.DotNet.Wpf

Repository files navigation

Windows presentation foundation (wpf).

.NET Foundation

Windows Presentation Foundation (WPF) is a UI framework for building Windows desktop applications.

WPF supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding and documents. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative model for application programming.

WPF's rendering is vector-based, which enables applications to look great on high DPI monitors, as they can be infinitely scaled. WPF also includes a flexible hosting model, which makes it straightforward to host a video in a button, for example.

Visual Studio's designer, as well as Visual Studio Blend, make it easy to build WPF applications, with drag-and-drop and/or direct editing of XAML markup.

As of .NET 6.0, WPF supports ARM64.

See the WPF Roadmap to learn about project priorities, status and ship dates.

WinForms is another UI framework for building Windows desktop applications that is supported on .NET (7.0.x/6.0.x). WPF and WinForms applications only run on Windows. They are part of the Microsoft.NET.Sdk.WindowsDesktop SDK. You are recommended to use the most recent version of Visual Studio to develop WPF and WinForms applications for .NET.

To build the WPF repo and contribute features and fixes for .NET 8.0, Visual Studio 2022 Preview is required.

Getting started

  • .NET 6.0 SDK , .NET 7.0 SDK
  • .NET Preview SDKs (8.0 daily, 7.0 servicing)
  • Getting started instructions
  • Contributing guide
  • Migrating .NET Framework WPF Apps to .NET Core
  • We are currently developing WPF for .NET 8.

See the WPF roadmap to learn about the schedule for specific WPF components.

Test published at separate repo Tests and have limited coverage at this time. We will add more tests, however, it will be a progressive process.

The Visual Studio WPF designer is now available as part of Visual Studio 2019.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.

  • This repo defines contributing guidelines and also follows the more general .NET Core contributing guide .
  • If you have a question or have found a bug, file an issue .
  • Use daily builds if you want to contribute and stay up to date with the team.

.NET Framework issues

Issues with .NET Framework, including WPF, should be filed on VS developer community , or Product Support . They should not be filed on this repo.

Relationship to .NET Framework

This code base is a fork of the WPF code in the .NET Framework. .NET Core 3.0 was released with a goal of WPF having parity with the .NET Framework version. Over time, the two implementations may diverge.

The Update on .NET Core 3.0 and .NET Framework 4.8 provides a good description of the forward-looking differences between .NET Core and .NET Framework.

This update states how going forward .NET Core is the future of .NET. and .NET Framework 4.8 will be the last major version of .NET Framework.

Code of Conduct

This project uses the .NET Foundation Code of Conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at [email protected] .

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected] . You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter .

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program .

.NET Core (including the WPF repo) is licensed under the MIT license .

.NET Foundation

.NET Core WPF is a .NET Foundation project.

See the .NET home repo  to find other .NET-related projects.

Code of conduct

Security policy, releases 165, contributors 153.

  • PowerShell 0.3%
  • Smalltalk 0.3%

The following navigation has top level toggles that can be engaged with by focusing on them and pressing the enter key. Their respective sub-navigation can then be navigated through with the tab key. Upon reaching the last node in the sub-navigation the next top level node will be focused if there is one.

Windows Presentation Foundation (WPF)

Windows Presentation Foundation (WPF)

  • ASP.NET MVC
  • ASP.NET WebForms

What is WPF?

WPF, which stands for Windows Presentation Foundation, is Microsoft's latest approach to a GUI framework, used with the .NET framework.

But what IS a GUI framework? GUI stands for Graphical User Interface, and you're probably looking at one right now. Windows has a GUI for working with your computer, and the browser that you're likely reading this document in has a GUI that allows you to surf the web.

A GUI framework allows you to create an application with a wide range of GUI elements, like labels, textboxes and other well known elements. Without a GUI framework you would have to draw these elements manually and handle all of the user interaction scenarios like text and mouse input. This is a LOT of work, so instead, most developers will use a GUI framework which will do all the basic work and allow the developers to focus on making great applications.

There are a lot of GUI frameworks out there, but for .NET developers, the most interesting ones are currently WinForms and WPF. WPF is the newest, but Microsoft is still maintaining and supporting WinForms. As you will see in the next chapter, there are quite a few differences between the two frameworks, but their purpose is the same: To make it easy to create applications with a great GUI.

In the next chapter, we will look at the differences between WinForms and WPF.

  • Norwegian Bokmål
  • Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers
  • Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand
  • OverflowAI GenAI features for Teams
  • OverflowAPI Train & fine-tune LLMs
  • Labs The future of collective knowledge sharing
  • About the company Visit the blog

Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Get early access and see previews of new features.

What is the difference between Window Presentation Foundation and WCF? Which is newer?

So which one is the newer one, and why would I use one over the other. Or more importantly, over Windows Forms?

Sergio Tapia's user avatar

  • 1 WPF and WCF are entirely different. WPF is for rich GUI application. WCF is for service oriented applications. WCF unifies Webserives+ remoting+ message queues+ into a single API. WPF is better choice over Windows forms, though you would have to invest time and efforts into it. WPF and WCF would solve different business problems. –  PRR Commented Nov 11, 2009 at 6:33
  • 2 Which is newer: rocket ships or vanilla beans? Why should I use one or the other? –  Mike Hanson Commented Nov 11, 2009 at 8:55
  • vanilla beans are newer Mike, everyone knows that! DOH –  Arcturus Commented Nov 11, 2009 at 9:36

3 Answers 3

Neither is newer than the other, they have both been cooking for roughly the same period of time.

HOWEVER they are totally different things :

WPF == Windows Presentation Foundation WCF == Windows Communication Foundation

WPF is the direct replacement for WinForms. WCF is a framework for talking to webservices, it replaces Remoting. I could waffle for hours on this, but that is a short answer for you :)

slugster's user avatar

  • 2 WPF is much, much more powerful than WinForms, and more efficient to work with too. Compare WinForms with raw GDI calls and WndProcs, and you will have some idea of the difference. Many things that are easy to do in WinForms are even easier in WPF, and many things that are nearly impossible in WinForms are easy in WPF. If you have a choice, WPF is almost always better than WinForms. The only exceptions are if you are running on embedded hardware with very limited performance, hardware over 10-12 years old, or must support Windows 2000 or Windows 9x. –  Ray Burns Commented Nov 11, 2009 at 4:35
  • @slugster You cannot say it replaces Remoting . Remoting is still used for App domain communication. –  Searock Commented Jul 2, 2011 at 16:02

From Microsoft websites:

Windows Communication Foundation is...

a part of the .NET Framework that provides a unified programming model for rapidly building service-oriented applications that communicate across the web and the enterprise..

Windows Presentation Foundation

Windows Presentation Foundation (WPF) provides developers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents.

TheVillageIdiot's user avatar

WPF is NOT a replacement for WinForms. Consider LOB applications, running on bulk enterprise hardware. The overhead of WPF is ridiculous.

Consider the following On my machine I have VS2008 and VS2010 installed.

Visual Studio 2008 (WinForms I believe) is only ~100mb of memory.

Visual Studio 2010 Beta 2 (WPF) is ~300mb.

That's just stupid. There's no reason for VS to be using WPF. It doesn't need flashy graphics or anything special that WPF offers. I'm for one sticking to VS2008. There's a time and a place when WPF is great to use, but Visual Studio and as I said LOB applications are not the time or place, it's just adding ridiculous overhead for pointless reasons.

However, WPF is a lot easier to work with than WinForms (once you UNDERSTAND it, the learning curve is also a lot larger)

y2k's user avatar

  • Uh, you didn't think that through, yeah? WPF is the next generation on from WinForms, hence my comment about "replacement". As for why VS2010 is done in WPF.... i imagine it must be a whole bunch easier to do WPF rendering/layout etc when your IDE is written in WPF than it would be when the IDE is still predominantly C++ and COM based like VS2008. –  slugster Commented Nov 11, 2009 at 11:59
  • ITS NOT A REPLACEMENT. Microsoft has no intentions of discontinuing WinForms –  y2k Commented Nov 11, 2009 at 20:01
  • Duh, nobody ever said WinForms was going to be replaced, i don't know how you managed to read that into what i said. It most certainly is a replacement, in the same way that WinForms & .Net is a replacement for VB/MFC etc, you can still code in those older technologies if you wish, but fewer and fewer people are doing so. If you don't like the word "replacement" then think "next generation". –  slugster Commented Nov 12, 2009 at 0:08

Your Answer

Reminder: Answers generated by artificial intelligence tools are not allowed on Stack Overflow. Learn more

Sign up or log in

Post as a guest.

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy .

Not the answer you're looking for? Browse other questions tagged c# wpf winforms wcf or ask your own question .

  • The Overflow Blog
  • The hidden cost of speed
  • The creator of Jenkins discusses CI/CD and balancing business with open source
  • Featured on Meta
  • Announcing a change to the data-dump process
  • Bringing clarity to status tag usage on meta sites
  • What does a new user need in a homepage experience on Stack Overflow?
  • Feedback requested: How do you use tag hover descriptions for curating and do...
  • Staging Ground Reviewer Motivation

Hot Network Questions

  • Is it helpful to use a thicker gage wire for part of a long circuit run that could have higher loads?
  • What is the first work of fiction to feature a vampire-human hybrid or dhampir vampire hunter as a protagonist?
  • Enumitem + color labels + multiline = bug?
  • Why is this bolt's thread the way it is?
  • A seven letter *
  • What is the optimal number of function evaluations?
  • What prevents random software installation popups from mis-interpreting our consents
  • What's the benefit or drawback of being Small?
  • How do you tip cash when you don't have proper denomination or no cash at all?
  • "Mixture, Pitch then Power" - why?
  • help to grep a string from a site
  • An instructor is being added to co-teach a course for questionable reasons, against the course author's wishes—what can be done?
  • Confusion about time dilation
  • Gravitational potential energy of a water column
  • I'm not quite sure I understand this daily puzzle on Lichess (9/6/24)
  • \ExplSyntaxOn problem with new paragraph
  • What was the typical amount of disk storage for a mainframe installation in the 1980s?
  • What was Jesus' issue with Mary touching him after he'd returned to earth after His resurrection?
  • Bike helmet not small enough
  • Geometry nodes: spline random
  • Setting labels to be the "Blocking" type using PyQGIS
  • How does the phrase "a longe" meaning "from far away" make sense syntactically? Shouldn't it be "a longo"?
  • How high does the ocean tide rise every 90 minutes due to the gravitational pull of the space station?
  • Direction of centripetal acceleration

what is windows presentation foundation (wpf)

NDepend Blog

Improve your .NET code quality with NDepend

WPF vs WinForms – Making the Right Decision in 2024

Share this:.

what is windows presentation foundation (wpf)

If you’re a developer faced with the decision of selecting between Windows Presentation Foundation ( WPF) and Windows Forms ( WinForms ) commonly referred to as WPF vs WinForms , you may be eager to understand the distinctions between these two UI frameworks . In this comprehensive guide, we will offer an in-depth comparison of WPF and WinForms. We will shed light on their prominent differentiating factors and shared characteristics.

Introduction to Windows Presentation Foundation (WPF) and Windows Forms (WinForms)

WinForms and WPF are two different UI frameworks built by Microsoft for creating desktop applications in the Microsoft .NET ecosystem. Let’s break down the main points:

WinForms , introduced with .NET 1.0 in 2001, leans heavily on standard Windows OS controls . This technology offers a streamlined managed layer over the familiar forms and controls provided by the Win32/WinAPI . It essentially encapsulates native Windows elements like buttons, textboxes, data grids, and combo-boxes. This approach simplifies the development of conventional Windows applications, retaining their recognizable look and feel.

Windows Presentation Foundation ( WPF ) emerged as a UI framework for Windows desktop applications, introduced by Microsoft in 2006. It was developed to supplant Winforms, the primary UI framework for Windows desktop applications since 2002. While WinForms remains in use today, WPF offers a more contemporary and visually appealing UI framework, constructed on the foundation of DirectX . It’s fundamentally different from WinForms in that it doesn’t rely on native Windows controls in most cases. WPF applications are built using a vector-based rendering system . They are not limited to the traditional Win32 controls. Instead, WPF offers a rich set of controls that are highly customizable and can be styled and templated extensively.

Key Distinctions: WPF vs. WinForms

To summarize, the most fundamental difference between Winforms and WPF is that Winforms is built on top of standard Windows controls and WPF relies on DirectX for rendering . This looks like details but the implications of this difference are significant:

  • Customization and Design : WPF provides more extensive customization and design capabilities, enabling developers to create highly stylized and visually appealing applications. WinForms, while functional, may require more effort to achieve the same level of visual sophistication.
  • Resolution Independence : WPF applications are resolution-independent because they are vector-based. They can adapt to different screen sizes and resolutions more easily. WinForms, being tied to standard Windows controls, might have some challenges in this regard.
  • UI Responsiveness : WPF’s rendering model allows for more responsive and interactive user interfaces, including animations and effects, which can be more challenging to achieve in WinForms.
  • XAML : WPF uses Extensible Application Markup Language (XAML), a declarative language for defining user interfaces. This makes it easier to separate UI design from code and allows for a more designer-developer collaboration.
  • Multimedia Content: WPF offers native multimedia support, including audio, video, and animation, making it a versatile choice. In contrast, WinForms does necessitate the use of extra libraries or plugins to enable multimedia capabilities.
  • Drag-and-Drop : WinForms offers drag-and-drop functionality, but it’s generally more straightforward and may not provide the same level of customization as WPF. It is suitable for basic drag-and-drop scenarios.
  • Learning Curve : Transitioning from WinForms to WPF can involve a learning curve due to the fundamental differences in architecture and design. Developers familiar with standard Windows controls may need to adapt to WPF’s way of working.

WPF vs. WinForms: Which One Offers Superior Performance?

When it comes to developing high-performance desktop applications, the choice between Windows Presentation Foundation (WPF) and Windows Forms (WinForms) is pivotal. WPF’s modern architecture, leveraging hardware acceleration and vector-based rendering , often results in smoother animations and graphics . Its resolution independence also shines on high DPI displays and touch which is the norm nowadays.

WinForms, in contrast, is often acknowledged as a lightweight and high-performance UI framework . Although it may not deliver the visual sophistication of WPF, Winforms excels in offering responsive user interfaces , even on less powerful hardware.

Both frameworks are performant, but WPF excels in achieving seamless animations and enhanced graphic quality . WinForms, on the other hand, is an excellent choice when you aim to develop a lightweight and responsive UI application .

WPF vs. WinForms: A Comparison of Flexibility

In the realm of desktop application development, flexibility is a key consideration. Windows Presentation Foundation (WPF) and Windows Forms (WinForms) are two prominent options, each with distinct traits.

WPF, with its modern approach, offers a high degree of flexibility. Its extensible XAML-based architecture allows for creative and customized user interfaces. It’s particularly suited for applications requiring intricate designs and innovative user experiences.

On the other hand, WinForms, while less visually flexible, excels in Rapid Application Development (RAD) . WinForms provides a variety of standard controls for quick and straightforward UI development. Nevertheless, its capabilities may become constraining and less adaptable when aiming for more complex and sophisticated UI designs.

Choosing between the two depends on your project’s specific requirements and the balance between visual flair and development speed you seek.

WPF vs. WinForms: Cross-Platform Compatibility

Both technologies are inherently Windows-centric and not originally engineered for cross-platform compatibility. Since 2017 both WPF and Winforms can run upon the new .NET Core runtime, which in turn functions smoothly on Linux and MacOS.. It’s important to note that, despite these capabilities, WPF and WinForms haven’t received official porting to other platforms, and Microsoft currently has no announced plans to do so.

Winforms and mono

Let’s highlight that developers can create and debug WinForms applications on a Windows PC using Visual Studio . They can then transfer these applications to the ComfilePi. The mono .NET runtime can then execute these applications without the requirement for recompilation. However, it’s important to note that using the Mono runtime to run WinForms applications on Linux and MacOS is discouraged for two significant reasons:

A) .NET Core has entirely replaced Mono and is the preferred runtime due to its enhanced features and performance.

B) The Mono port of WinForms contains numerous unresolved bugs, and there are no plans to address these issues, making it an unreliable choice for production use.

WPF and Avalonia

When it comes to WPF, there has been a recent effort to port it to Avalonia UI , and more details can be found here . Although it’s still in its early stages and considered somewhat immature, this port shows promise for legacy WPF projects.

Developing Cross-Platform Desktop .NET Applications

In summary, if you’re starting a new desktop application from scratch with cross-platform compatibility in mind, we highly recommend exploring frameworks like Uno , Avalonia ,   and MAUI . These frameworks are purpose-built for cross-platform development and can provide a solid foundation for your project’s success.

WPF vs. WinForms: Notable Advantages

WPF Advantages over Winforms:

  • Modern Standards : WPF is a newer technology. It aligns with contemporary development standards and practices.
  • Microsoft Adoption : Microsoft has used WPF for major applications like Visual Studio, demonstrating its commitment to the framework’s ongoing support and development.
  • Hardware Acceleration : Utilizing hardware acceleration for GUI rendering, WPF delivers improved performance.
  • XAML for Design : The XAML markup language simplifies GUI creation and editing, facilitating collaboration between designers and developers. This allows for a clear separation of UI design and code.
  • Enhanced Flexibility : WPF offers greater flexibility, reducing the need to create or purchase additional controls.
  • Effective Data Binding : WPF features robust data binding capabilities, enabling a clean separation of data and layout.
  • Rich Data Visualization : WPF excels in data visualization, making it an excellent choice for applications that require complex charting, data-driven graphics, and dashboard-style interfaces.

WinForms Advantages over WPF:

  • Maturity and Stability : WinForms is a well-established technology with a long history of development and refinement. It has been thoroughly tested in various applications, proving its stability and reliability.
  • Simplified Design in Visual Studio : The Visual Studio designer experience for WinForms is often considered more user-friendly and polished compared to WPF. It offers a more straightforward and intuitive way to design user interfaces.
  • Abundant 3rd Party Controls : A wide array of third-party controls is readily available for WinForms, many of which are free or commercially accessible.
  • Ease of Adoption : WinForms can be a natural choice for developers transitioning from traditional Windows application development. Its familiarity can reduce the learning curve for those accustomed to Win32 development.
  • Swift Development : WinForms is well-suited for rapid application development, making it an efficient choice for projects with tight deadlines and straightforward UI requirements.

In conclusion, the choice between WPF and WinForms hinges on carefully assessing your project’s unique needs.

  • WPF excels in delivering modern, visually compelling user interfaces and cross-platform potential.
  • WinForms offers stability, efficient development, and a wealth of third-party support.

Selecting the proper framework is pivotal, with factors like application complexity, UI requirements, performance demands, target platform, and your own expertise playing a crucial role. By weighing these considerations, you can confidently determine the framework that best aligns with your project’s goals and sets it on a path to success.

Make your .NET code beautiful with NDepend

Download the NDepend Trial and gain valuable insights into your .NET code within a few minutes

what is windows presentation foundation (wpf)

Is WPF Dead? The Data Says Anything But, here’s why

Is WPF Dead? The Data Says Anything But, here’s why

TLDR: We review the status of Windows Presentation Foundation (WPF) in 2024 and beyond, whether it’s usage is increasing or declining and if this is a good platform to develop on for the long term. We talk about why WPF is still popular for performance or critical apps, particularly in the scientific, engineering or medical fields, and what alternatives there are for enterprise software development. Plus, our views on the ever changing landscape for desktop or cross-platform application development both now and in the future.

What is WPF?

WPF or Windows Presentation Foundation is a graphical framework by Microsoft for building rich interactive and visually appealing desktop applications. WPF has been around since 2006 where it was first introduced as codename ‘Avalon’ in Microsoft .NET Framework v3.0. Since then, WPF has undergone many evolutions and is actively maintained by Microsoft almost 20 years later! Supporting desktop application development on Windows, WPF is dependent on Microsoft .NET and applications can be built in C# or Visual Basic .NET.

WPF features a declarative markup language known as XAML, allowing clean separation of View (user-interface) and Model (data). It has many benefits such as rich vector graphics, resolution independence, DirectX hardware acceleration, a powerful data-binding engine and the ability to create entirely custom user interfaces or controls via Templates and Styles.

Below we will expand on the reasons why WPF continues to be popular, and what the future holds for this platform.

What are the Alternatives to WPF?

Past & Present alternatives to WPF on the XAML / C# stack in chronological order include:

  • Avalonia (2011 – present), an open source platform XAML / C# framework
  • Xamarin (2011 – 2024), a Cross-platform XAML / C# application framework for building mobile apps and desktop apps, which will be deprecated this year
  • WinRT (2012 – 2015), a Microsoft Windows 8 based replacement for WPF which was ultimately deprecated.
  • UWP (2015 – present), a Microsoft Windows 10 based replacement for WPF which is still active, but somewhat superseded by WinUI
  • WinUI (2018 – present), a Microsoft Windows 10 based successor to WPF
  • MAUI (2022 – present), a Microsoft cross-platform XAML / C# application framework which replaces Xamarin and with a focus on mobile apps
  • Avalonia XPF (iii) (2023 – present), a 100% feature compatible replacement for WPF by the Avalonia team which allows WPF applications to run on Linux and macOS without code changes.

In addition, there are other cross-platform or desktop frameworks that are not based on C#. These include:

  • Flutter: A cross-platform Dart framework for building mobile apps
  • Qt: C++ based user interface framework for cross-platform applications
  • JavaScript / React: Various flavours of JavaScript (or TypeScript) plus React or React Native allow creating cross platform applications

Is Javascript / React a Viable Alternative to WPF?

This article is primarily focussed on Microsoft or Xaml / C# frameworks, however, let’s cover quickly the topic of whether JavaScript / React is a viable alternative to WPF.

There are many applications which were developed on WPF which could be ported to JavaScript. However, there is still a large subset of applications for which WPF is a great choice vs. JavaScript or browser technologies. Those include, applications which require: 

  • Native performance
  • 64-bit memory addressing on the client
  • Multi-threading and making use of all cores on the client

In addition, there are other advantages of developing for WPF, which are listed below.

What are the Advantages of WPF?

As a C# based user-interface framework with a long track record of stability and performance, WPF has many advantages.

Rapid Application Development

One of the reasons WPF continues to be popular, especially in enterprise and industries is the fact you can click File -> New Project in Visual Studio, write an app, compile it, and deploy it by copying to a shared drive or distribute via clickonce installer. It’s fast & easy.

Compared to the tech-stack of JavaScript apps where you will need to learn React, Redux, Typescript, HTMl, CSS, Node, Npm, REST, Websockets, a server platform, database platform, plus deploy your application to an environment before it’s available to others, it’s clear to see why rapid prototyping or building of internal tools tends to favour simpler alternatives such as WPF.

Mature Toolchain

Tools such as Visual Studio provide a visual designer, hot-reload, visual as well as code debugging.

Extensions like Resharper, NUnit or MSTest allow creating testable applications, supporting Test-Driven-Development (TDD).

Finally, third party tools and a rich ecosystem of third party free or paid components & libraries such as charts, graphs, datagrids on NuGet enhance the development experience further.

C# is a Great Programming Language

With it’s dependence on C# .NET it is possible to create powerful multi-threaded thick-client or thin-client applications in WPF, with best practices in software (such as dependency injection, model-view-view-model or MVVM patterns).

With 64-bit memory addressing in C#, near optimal performance and multi-threading you can build complex and high performing applications in WPF.

Build Complex & High Performance Desktop Apps

WPF continues to benefit from advancements in the evolution of .NET – allowing client / server applications with Azure Functions (Microsoft’s equivalent to AWS) to be written in the same language. Performance techniques like SIMD and vectorisation are now available in C#. Multi-threading and async/await as we mentioned before, plus C++ interop if you need to integrate to legacy code or high performance code.

Many users in the scientific, engineering, medical, automotive, motorsports or aerospace industries cannot sacrifice performance, and WPF gives you just that – full access to low level routines which will utilise the most from your CPU / GPU and disk.

How Popular is WPF in 2024?

In 2024, WPF continues to be popular for enterprise software development, with some estimates saying there are a half a million to one million actively developed applications worldwide.

Despite rumours of WPF’s untimely demise, the data shows a different story.

Below are a few data-points talking about the current state of the platform which shed some light on it’s future.

WPF Activity on Github

WPF was partially open sourced by Microsoft in 2018 (ii) , and as of today it’s GitHub repository has 6,700 Github stars, 1,100 forks, 142 contributors and over 5,200 commits spanning a 5 year period.

There are active projects such as Avalonia XPF (iii) which are looking to make WPF into a cross-platform framework. More on this below.

Strong support from the community as well as Microsoft means it’s likely that WPF will be here for many years to come.

Google Trend Searches for WPF vs. WinUI, MAUI

Google Trends (i) is a great tool to estimate the relative popularity of something worldwide and see the search trends over time. On it’s own, in a 5-year time period, there is a slight decline in searches for WPF. However, when compared against search trends for competing platforms such as WinUI, MAUI (Microsoft), Avalonia and Windows Forms, WPF continues to be dominant and show relative strength.

Activity for Nuget Packages

Nuget is the package manager for C# libraries including WPF. You can estimate the popularity of WPF vs. other similar frameworks by looking at download trends of popular libraries.

WPF Toolkit: a collection of free open source controls on WPF such as a DataGrid, ColorPicker and Charts has almost 12 million downloads (iv) , and continues to uptrend.

Nuget Trends WPF Toolkit

Prism : a popular dependency injection framework has libraries for WPF, Windows (UWP), MAUI and Uno. You can see in the download trends (v) , Prism.WPF outstrips all the others by a large margin.

Nuget Trends prism WPF vs WinUI vs MAUI vs Uno

Oxyplot : an open source charting library has implementations for WPF, Windows Forms and Windows (UWP / WinUI). Also here WPF leads the crowd and has the largest number of downloads by all

Nuget Trends for OxyPlot - WPF vs Winforms vs Windows UI

SciChart:  provides a high performance WPF Chart Control which was first released in 2012. On NuGet the package has reached 700,000 downloads, and continues to uptrend strongly – quite a lot for a closed-source commercial library!

Nuget Trends SciChart WPF Popularity

Popularity in Enterprise

In 2024, WPF continues to be popular for enterprise software development, with over some estimates showing a half a million to one million actively developed applications and two million developers worldwide.

While not much chatter or excitement for what is no longer a new technology, WPF still has a lot of demand in internal and business-critical applications.

Anecdotally, several recent posters on a reddit topic about the future of WPF (vii) commented very positive things about the framework:

Basically it is a lot more popular than it appears on the outside. WPF is kind of like Cobol. You won’t see many posts about it, but it’s used quite a lot in enterprise and financial institutions for internal applications and tools.
We use it a lot in the automation industry – and after years of using it I like it. We have to live with supporting old WinForms here. It is ok but I like WPF more. WPF is in between the old WinForms and currently still buggy MAUI for me (personally)…
WPF here too, we routinely evaluate alternatives but have never found something that is absolutely better in every way given our requirements.
I’ve been developing WPF desktop applications for the last ten years. I can say that WPF is more popular within “traditional” industries like the banking, medical and defence . So if you see yourself in one of those industries WPF (with MVVM) is a good choice.
Since 2020, I’ve worked on a massive WPF project. If you need to do native windows desktop development, WPF is the best choice in my opinion .

What’s the Future of WPF?

As well as alternative Xaml / C# frameworks, there are some exciting developments which may one day become the future of WPF. One of them is Avalonia’s XPF (iii) . Brought to you by the Avalonia team, this is a 100% compatible replacement for WPF’s low level code which runs entirely on Linux and macOS. Users have reported being able to re-target a WPF application using Avalonia XPF in minutes and compile / deploy to macOS & Linux.

Mobile (iOS / Android) and web browser support is on the roadmap from the XPF team, meaning one day we could see a truly cross-platform version of WPF.

Cross-platform may be low on many enterprise WPF developers wish-lists however being able to port applications to Linux just be retargetting / recompiling is a huge value-add for organisations that require the highest possible performance, or OEM deployments into embedded systems which require Linux. Plus, by replacing the legacy DirectX9 renderer with OpenGL / Vulkan, Avalonia XPF conveys several advantages and shows a positive evolution in WPF.

Below here’s a prototype showing SciChart WPF running on Linux under Avalonia XPF. Our team has been actively investigating this and cross-compiling our C++ engine to Linux, abstracting all DirectX calls to OpenGL. We hope to make an announcement soon that SciChart will be available on Linux & macOS under XPF, allowing to developers of embedded systems, OEM applications and performance-heavy scientific and medical applications to target this platform.

SciChart WPF Linux under Avalonia XPF

Is WPF Dead?

Far from being dead, we believe WPF will be here for years to come. Here are the key reasons why:

  • WPF has stood the test of time and is still active in enterprise software development 18 years after first release
  • It continues to be compatible with the latest versions of Windows and no sign this will change.
  • WPF is now open source, and has an active Github repository with hundreds of contributors, thousands of stars
  • Google Trends and NuGet data show WPF packages continues to outpace alternatives in the C# / XAML space such as MAUI / WinUI
  • Exciting projects such as Avalonia XPF extend the lifespan of existing WPF apps, allowing them to target multi platforms such as macOS and Linux and in future, iOS / Android / Browser

Finally, Our Roadmap

We are making steps now to make the SciChart library platform agnostic and as a first step, will be releasing a version of SciChart to support Avalonia XPF soon.

This will be a drop-in replacement, allowing applications which used SciChart WPF to ‘Just Work’ on Linux or macOS without code changes. We’re excited about this step in our evolution as a large proportion of our customers build for embedded devices, OEM systems or require the highest possible performance – which Linux helps to provide.

From a commercial point of view we are personally yet to see the demand for platforms such as WinUI or MAUI to match or replace WPF, however we are monitoring the situation closely. We are considering ways to make our technology available to more C# / XAML frameworks.

As a whole, we continued to be excited about XAML / C# based frameworks. We see a bright future in scientific, engineering and financial software which require the highest possible performance and will be continuing to invest in them.

Contact us share your opinion We’d love to hear from you on this topic. If you are a working for a commercial entity which would like to see SciChart on any of the alternative frameworks listed above, get in touch as we’d love to hear your opinion! CONTACT US

References in this article

  • Google Trends WPF vs. MAUI vs. WinUI vs. UWP 🔗
  • WPF Github Repository 🔗
  • Avalonia XPF 🔗
  • Nuget Trends for WPF Toolkit 🔗
  • NuGet Trends for Prism.WPF vs Uno vs MAUI vs Windows 🔗
  • NuGet Trends for OxyPlot WPF vs. WinForms vs. Windows 🔗
  • Reddit thread – how popular is WPF in Enterprise Software Development 🔗

Xamarin isn’t/wasn’t UI framework. You probably mean Xamarin.Forms, which use xamarin technology

Valuable article, Andrew. It accords very much with my own experience. WPF attracts little excitement because no-one (including Microsoft) is trying to sell it. But at the the top end, where you need intricate and precise user interfaces, there is nothing to beat it on a Windows platform.

Leave a Reply Cancel reply

You must be logged in to post a comment.

Recent Blogs

Running SciChart WPF on Linux? It’s possible, here’s how

What is react strict mode, and why is my application double re-rendering, performance optimisation of javascript applications & charts.

Queens Award for Innovation Proud winners of the Queens Award for Innovation, 2019. Awarded on account of our innovative graphics engine which underpins the SciChart library and enables our world-beating charting performance

National business awards

National Business Awards Highly Commended for Lloyds National Business Awards, 2019. Awarded on account of our innovative graphics engine and impressive customer base

Reviews SciChart has received hundreds of verified, 3rd party reviews

Try SciChart Today

Start a trial and discover why we are the choice of demanding developers worldwide

Get full access to Essential Windows Presentation Foundation and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

Essential Windows Presentation Foundation

Essential Windows Presentation Foundation

Read it now on the O’Reilly learning platform with a 10-day free trial.

O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Book description

“Chris Anderson was one of the chief architects of the next-generation GUI stack, the Windows Presentation Framework (WPF), which is the subject of this book. Chris’s insights shine a light from the internals of WPF to those standing at the entrance, guiding you through the concepts that form the foundation of his creation.” –From the foreword by Chris Sells

“As one of the architects behind WPF, Chris Anderson skillfully explains not only the ‘how,’ but also the ‘why.’ This book is an excellent resource for anyone wanting to understand the design principles and best practices of WPF.” –Anders Hejlsberg, technical fellow, Microsoft Corporation

“If WPF stands as the user interface technology for the next generation of Windows, then Chris Anderson stands as the Charles Petzold for the next generation of Windows user interface developers.” –Ted Neward, founding editor, TheServerSide.NET

“This is an excellent book that does a really great job of introducing you to WPF, and explaining how to unlock the tremendous potential it provides.” –Scott Guthrie, general manager, Developer Division, Microsoft

“WPF is a whole new animal when it comes to creating UI applications, drawing on design principles originating from both Windows Forms and the Web. Chris does a great job of not only explaining how to use the new features and capabilities of WPF (with associated code and XAML based syntax), but also explains why things work the way they do. As one of the architects of WPF, Chris gives great insight into the plumbing and design principles of WPF, as well as the mechanics of writing code using it. This is truly essential if you plan to be a serious WPF developer.” –Brian Noyes, chief architect, IDesign Inc.; Microsoft Regional Director; Microsoft MVP

“I was given the opportunity to take a look at Chris Anderson’s book and found it to be an exceedingly valuable resource, one I can comfortably recommend to others. I can only speak for myself, but when faced with a new technology I like to have an understanding of how it relates to and works in relation to the technology it is supplanting. Chris starts his book by tying the WPF directly into the world of Windows 32-bit UI in C++. Chris demonstrates both a keen understanding of the underlying logic that drives the WPF and how it works and also a skill in helping the reader build on their own knowledge through examples that mimic how you would build your cutting edge applications.” –Bill Sheldon, principal engineer, InterKnowlogy

Windows Presentation Foundation (WPF) replaces Microsoft’s diverse presentation technologies with a unified, state-of-the-art platform for building rich applications. WPF combines the best of Windows and the Web; fully integrates user interfaces, documents, and media; and leverages the full power of XML-based declarative programming.

In Essential Windows Presentation Foundation, former WPF architect Chris Anderson systematically introduces this breakthrough platform, focusing on the concepts and techniques working developers need in order to build robust applications for real users. Drawing on his unique experience as an architect on the team, Anderson thoroughly illuminates the crucial new concepts underlying WPF and reveals how its APIs work together to offer developers unprecedented value.

Through working sample code, you’ll discover how WPF draws on the Web’s simple models for markup and deployment, common frame for applications, and rich server connectivity, and on Windows’ rich client model, simple programming model, strong control over look-and-feel, and rich networking. Topics explored in depth include

WPF components and architecture

Key WPF design decisions–and why they matter

XAML markup language

Visuals and media, including 2D, 3D, video, and animation

Data integration

WPF Base Services

Essential Windows Presentation Foundation is the definitive, authoritative, code-centric WPF reference: everything Windows developers need to create a whole new generation of rich, graphical applications.

Figures Foreword by Don Box Foreword by Chris Sells Preface About the Author Chapter 1: Introduction Chapter 2: Applications Chapter 3: Controls Chapter 4: Layout Chapter 5: Visuals Chapter 6: Data Chapter 7: Actions Chapter 8: Styles Appendix: Base Services Index 

Table of contents

  • Copyright Page
  • Foreword By Don Box
  • Foreword By Chris Sells
  • About the Author
  • 1. Introduction
  • 2. Applications
  • 3. Controls
  • Appendix. Base Services

Product information

  • Title: Essential Windows Presentation Foundation
  • Author(s): Chris Anderson
  • Release date: April 2007
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 0321374479

You might also like

Mastering windows presentation foundation.

by Sheridan Yuen

Master the art of building modern desktop applications on Windows About This Book Learn how to …

Intermediate Windows Presentation Foundation

by Mark Long

Novice developers working with WPF/XAML understand the basics of how to use layout panels and controls …

Windows® Presentation Foundation Unleashed

by Adam Nathan, Daniel Lehenbauer - Lead Developer Responsible for WPF 3D

Printed entirely in color, with helpful figures and syntax coloring to make code samples appear as …

Windows Presentation Foundation 4.5 Cookbook

by Pavel Yosifovich

For C# developers, this book offers a fast route to getting more closely acquainted with the …

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

what is windows presentation foundation (wpf)

Windows Presentation Foundation

The Windows Presentation Foundation (or WPF), formerly code named Avalon, is the graphical subsystem feature of the .NET Framework 3.0 (formerly called WinFX) and is directly related to XAML. It is pre-installed in Vista, the latest version of the Microsoft Windows operating system. WPF is also available for installation on Windows XP SP2 and Windows Server 2003. It provides a consistent programming model for building applications and provides a clear separation between the UI and the business logic. A WPF application can be deployed on the desktop or hosted in a web browser. It also enables richer control, design, and development of the visual aspects of Windows programs. It aims to unify a host of application services: user interface, 2D and 3D drawing, fixed and adaptive documents, vector graphics, raster graphics, animation, data binding, audio and video.

WPF/E is a subset of WPF, and stands for "Windows Presentation Foundation Everywhere". It is basically a mobile version of WPF, based on XAML and Javascript. 3D features are not included, but XPS, vector-based drawing, and hardware acceleration, are. Wikipedia

This site was created in 2006. It was dedicated to everything Windows Presentation Foundation. Andrew Whiddettt (CTO), Victor Gaudioso and John Woo are WPF Engineers who helped guide those so inclined to learn WPF via articles, blogs, downloads and tutorials. Each of these engineers had their own blog.

An Update: I wonder how these three engineers would have reacted to the news that Zendesk was going to kill its Windows Phone app in 2017. I work for a company that offers customized help desk support to Zendesk clients. Our phones were ringing like crazy when this announcement was first made. Zendesk is a global provider of customer service software. They operate in 150 markets. In 2012 the company launched its Windows Phone app in the Market. However in November 2016 Zendesk announced that it was going to end support for its Windows Phone app and the app would only receive any emergency maintenance updates after Dec 31st 2016. Arggg!!! went our clients. In 2017 we had to explain to clients that due to the low usage of its Windows Phone app, Zendesk was just going to kill it. The app was removed from the Windows Store completely in April 2017 and was no longer be available for download for Windows Phone users. It was understandable if Zendesk didn't have enough users to justify making the proper updates and support. We told customers that Zendesk recommended they switch to an iOS or Android OS platform to keep enjoying the features of its Zendesk App. We also offered other work-a-rounds, but some clients were initially very unhappy. I was burned out by the end of that week. My one consolation was that the company just happened to be upgrading our offices and the reception area that same week with Italian modern furniture that was really sleek and cool. The furniture company, room service 360°, they ordered from is located in Philadelphia. I've driven by it many times but never associated it with business furniture. Turns out room service 360° offers stunning modern furniture from many Italian brands among others, for both the home and office. The makeover of the company was impressive and had a very positive impact on the employees moral. And the feedback from both our old and new customers was irrefutable: They loved the new look. Thank you management.

Now it's time to hit the road and drive home. I always like getting home. My affectionate Alaskan Malamute, Nanette, greets me at the door, ready to have some fun. We have a routine that includes a three-mile run and playing frisbee, a game she loves. Nanette is surprisingly agile for such a large dog, and catching that frisbee is her favorite part. It's a good thing I have several acres of land for her to use up all her energy before we go in for the night. Speaking of hobbies and outdoor activities, I recently got into golf, inspired by the themes of this year's Forum, which emphasized wellness and personal growth. Just last week, I picked up a Tour Edge golf club, a brand recommended by a friend. This club has been a fantastic addition to my leisure time, providing a great way to relax and improve my game. I'm planning to spend more time at the local golf course, honing my skills and enjoying the open spaces, much like Nanette enjoys her time outdoors. This evening, after our run and frisbee game, I might even practice a few swings in the backyard. It's going to be a good evening, indeed. Oh yes.

The selected content below taken from Victor Gaudioso’s blog posts.

what is windows presentation foundation (wpf)

June 1, 2011

The LASLUG Raffle Chooser App has been Published in the Windows Phone 7 Marketplace

Victor @ 1:57 pm

what is windows presentation foundation (wpf)

If you attended our May 25, 2011 Los Angeles Silverlight Usergroup (LASLUG) meeting then you saw Kim S (LASLUG Special Event Coordinator) use the custom built Raffle Chooser Windows Phone 7 Application to choose the Winning Raffle Tickets.

Well, I figured that this could be a handy tool for our other .NET Usergroups such as LA C# Usergroup or even our friends at SoCal Code Camp ran by Woody

Pewitt (@woodyp on Twitter) as I think they all hold raffles as well. So I published it on the Zune Marketplace.  It is under the Social Category and is FREE!

You can Install the Raffle Chooser app directly from here: http://tinyurl.com/4xhcltr

If  you would like the source code feel free to email me at victorg at laslug dot com.

Thanks!  Victor

April 29, 2011

The Los Angeles Silverlight Usergroup (LASLUG) is Growing by Leaps & Bounds – State of the Usergroup

— Victor @ 12:07 am

Hello LASLUGers!

Today we had an occurrence that sets us apart as a premier .NET Usergroup;  today we hit the BIG TIME: Telerik has signed on to become a proud sponsor  of the Los Angeles Silverlight Usergroup.  In their own words, Telerik’s Emily Parker writes “ (we) provide 1 Telerik Ultimate Collection valued at $1999/month. This license is our largest bundle so it includes tons of software – check them out here: www.telerik.com/purchase.  I know you said other’s do two licenses/month but this license is a  huge bundle which always goes over well.  We send a demo CD with the license codes on them so your winners can just walk away with this and they are all set! “  

 Are they awesome or what? 

 Mission Statement:

To provide the local Los Aneles .NET community (with an emphasis on Silverlight & WPF) with the finest speakers that the planent has to offer.  Further, we pledge not to ever charge any of our members any money for this service.  While most other usergroups are free to attend they tend to charge for the raffles whereby they give away prizes.  We not only offer free gourmet pizza, beer, softdrinks and deserts we offer free prizes.  It is our goal to provide every member in attendence with a free prize be it a small prize such as a DevExpress tee-shirt, or a Microsoft Flash drive to something more significant such as an Apress book on how to do game programing for Windows Phone 7 to something very expensive such as Telerik’s Ultimate Silverlight Software Collection (a $1999.00 value).  Further, we promise to update our venues to make it easier for some members to attend one month and then easier for other members to attend another month.  We also feel this keep the group fresh and reduces the chance of them becoming bored with LASLUG meetings.  Finally, we have commited to our sponsors to help them add to their customer base by touting the positive aspects of their products and by encouraging our members to use their decision-making power at their places of employment to employ these books and tools if they enjoy the products we give to them as prizes. We also promise our sponsors high-visibility on our website (www.laslug.com) as well as in our meetings.

So Wed May 25th is the tentative date for our next  LASLUG  meeting and the first meeting we will be giving away  Software  from:

1.  Telerik  (one copy of Ultimate Collection – Value: $1999.00);

2.  DevExpress  (two copies of Silverlight Controls for Silverlight – Value: $799.99 (times two));

3.  Syncfusion  (two copies of Essential Studio Enterprise Edition – Value: $1,995.00 (times two));

4.  VIBlend  (VIBlend WPF Controls package – Value: $349.000), (VIBlend Silverlight Controls package – Value: $499.00).

  

We will also be giving away books:

1.  Apress  - Four titles to be determined – Approximate Value: $50.00 (times four));

2.  FreindsOfEd -  One title, two copies - Expression Blend 4 with Silverlight – Value: $49.00 (times two));

3.  Safari Books Online  (10 day free trial and 20% off with purchase of a year subscription).

We will also have swag from:

1. Mircosoft

2. DevExpress

3. Syncfusion

This comes out to a total of  $9,283 .  So by the time the meeting takes place I expect the prizes to be valued at  well over $10,000 .

And this is just as of right now…we are currently in talks with  O’reilly, Manning, Anheuser-Busch, New Belgium Brewers  and a few others.

So look for email blasts from me and the management team with regards to new sponsorship and meeting details.  Once you get the meeting announcement please secure your spot  ASAP  as space is limited and I think that will all of these new  prizes ,  swag ,  gourmet pizza  and  beer  the meeting is going to fill up  fast!  

October 2, 2010

An Amazing Review of my new Silverlight 4 Book

—  Victor @ 12:26 am

A reader named Peter Henry wrote an awesome review of my new Silverlight 4 book on his blog.  Its funny, the way he describes my writing style is EXACTLY what I was shooting for;  that is, as if I were right over your shoulder telling you step by step how to develop in Silverlight using Blend and Visual Studio.  Here is his review, you can also read it here: http://www.pchenry.com/Home/tabid/36/EntryID/343/Default.aspx

A few weeks ago, I saw a message on Twitter asking people to reply to get a free book.  Now, usually I disregard those emails/phone calls/unsolicited advancements with utter and complete contempt (too polite? LOL) but this time around I thought I might read this a bit further.  

The posting was from Simon Yu from apress.com, he was asking for reviewers for an upcoming Expression Blend book.  Interesting.  I was familiar with the previous book (Expression Blend 3) since Sylvain had bought one last year and I was kind of envious he was learning WPF and Expression Blend with this book.  Ya, it looked that impressive when I leafed through it.

But then……..life got busy, work got busy…..life just happened…..you probably know what I mean right?  Well, fast forward to Simon’s posting and I thought, eeehhhhh……what’s the worst that can happen?  Oh ya, he could be bogus and I get spammed forever?  AAAAAHHHHH let’s try it out, could be interesting?

As I would say to Bert lately, “long story short”, I got the book in the mail (thank you very much Simon!) and I have to tell ya, WOW!!!!!!!!!!!!  VERY COOL!  I guess in the last year, I’ve kind of gotten a bit gun-shy with the whole WPF/XAML/Blend thing.  Why?  Not quite sure why actually…..just that there’s A LOT to bite off to get something done.  Layout managers, data binding, POCOs or EF, WCF or web services, resources, triggers, behaviours, then there’s the whole XAML and Blend thing…..maybe you’re where I am?  You feeling a bit OVERWHELMED with all that?

Well, this is where this book comes into play.  I said to myself, with WP7 coming out, I’m getting on that band wagon and I’m going to do WPF this time!  Yes siree Bob!  Who’s Bob?  I don’t know, that’s the expression!  Anyways, here are my first impressions!

  • Who’ the book aimed at?  People like me!  COOL!
  • It’s NOT 800 pages!
  • It reads less like MSDN and more like a book that keeps you excited!  Sorry MSDN, no slight against you, when I goto you, I want info HERE AND NOW, nothing pretty, nothing fancy, but when I’m reading about something brand new, I need a bit of spoon feeding and a bit of excitement to keep me interested.
  • “LOTS of pretty pictures!”  Which is good for a visual designer tool that Blend is!  Ironic eh?  Lots of sites, even books don’t have pictures, WTF?  The HUGE benefit of pictures is I can see IMMEDIATELY when I’m begining to deviate away from the lesson and starting to get lost.  Not here!
  • Juicy info is had right away, not half way through the book.  Ever read a Tom Clancy book?  Doesn’t matter which one, they ALL, only get interesting half way through.  Boooooooring!  Not with this book!
  • Yes, I did get the book for free, but NO I’m not biased nor inclined to give this book a good rating just because of that.  I’m cheap, but I’m also not looking to make my living with book reviews.  I have ONE objective with this book, to learn Blend!
  • And my last, first impression, which is the most important point in this post, Victor’s writing feels COMPLETELY interactive and dynamic.  Think about it, it’s a book written months ago, and it STILL feels like a conversation with him right there!  What do I mean?  He does this a lot and I love it…..he explains something, and I’m thinking…but, but but……then in the very next sentence he answers my very same question in my head.  Ya, and he does that continuously.  I’ve done good and bad training courses before, this guy writes this book like a beautiful training course.  I’m 50pgs into it and have HUGE expectations now for him to continue doing his “set’em up and knock’em down” style of teaching!

So, there you have it, my first impressions about this new book from Victor Gaudioso.  Keep your eyes peeled on this blog for a followup blog with my end of book review.  Now it’s time to grab a coffee and get coding (well, reading and coding that is LOL).

Thanks so much Peter!  Victor

May 26, 2010

New Speaking Event: Microsoft Book Signing/Silverlight 4 Presentation

— Victor @ 11:45 am

On Saturday June 19th, 2010 from 7:00 to 9:00 pm (PST) I will be signing copies of my latest book Foundation Blend 3 with Silverlight and presenting/demoing the new features of Silverlight 4 at the Microsoft Store in Mission Viejo, California!

Join me as I show how to use the new Webcam and COM APIs, show how to build Out-Of-Browser (OOB) Silverlight applications and talk about Sketchflow Prototyping with Silverlight.

There will be plenty of prizes and give-aways from our sponsors.  Microsoft will be giving away copies of the Expression Blend Suite, Apress will be giving away some of its most popular book titles based on .NET technologies and finally DevExpress will be giving away copies of its popular Silverlight Tools.

Join us for an evening of book signing, food and drinks, presentations and everything Silverlight!  attendance is free but RSVP as space is limited. 

See you there!

what is windows presentation foundation (wpf)

April 6, 2010

My Microsoft MVP Award!

— Victor @ 2:43 pm

My MVP Award just came in the mail and it did not disappoint.  There was a really nice plaque, a glass award, an MVP ID card and an MVP pin. Take a look at the video of me opening my award!

what is windows presentation foundation (wpf)

March 5, 2010

An Interesting Journey with a Man Named Ted

— Victor @ 8:24 am

As you probably know,  I am very serious and passionate about my love for Silverlight and Blend; I love the technology and possess a burning passion for teaching it.  If any of you know me you know full well that if you ask me for help I will do all I can to help you understand this medium and to be productive in it. 

As you also know I write books on Blend and Silverlight; I do so for a couple of reasons:

First, I do it to help those interested to learn this platform.  Silverlight and Blend are amazingly easy to use once you know how.  Sadly learning how can be difficult.  To facilitate the ease of learning this medium I decided to write books under the Apress/Friends of Ed flagship  Foundation  series.  I have two books already published and currentlyI am writing my third on SL 4/Blend. 

The second reason I write books is so that I have creditability as a bonafide  SL/Blend expert.  That being the case people will listen to my teachings and when I raise issues to my friends over at MSFT I get some very good responses. 

What I  DON”T  write these books for is money; it is all about the passion I possess.  To be honest, I don’t make a whole lot of money writing these books; if you were to break it down I probably end up making less than $5.00 per hour. 

So, whenever I receive a new review on Amazon I am quick to read it in hopes to understand how the public feels about my publication and how I can improve my next book.  As an example of this, I have my book’s Amazon link on my smart phone’s desktop. I click it at  least  once per day to look for new comments. 

The comments thus far have been quite positive (currently the book has 4 out of 5 stars).  So, whenever I get a negative comment my heart sinks and I am deeply saddend and concerned. 

As it happens just such a comment came down the pike a few days ago. In this review a man named Ted stated that there is entirely too much code in my book and being that it is a Blend book this should not be the case. 

While this review did hurt my feelings I had to admit the guy had a valid point.  But to be sure I grabbed a copy of my book and started to thumb through it and this validated what he had stated: there was in fact too much code for a Blend book.  So, I commented back and told Ted that his comment “ cut me to the core ” and that he did in fact have a valid point.  I apologized and promised that I would do better on my new book slated to come out this summer. 

Ted quickly responded and was a little apologetic that he had hurt my feelings but stuck by his point. He accepted my ap0logy and said that he looked forward to my next book.  But I didn’t feel that I had done enough for Ted.  Sure I had helped him understand that there are real people behind these books that have real feelings but what had I done to  help him?  This was a reader that put his faith in me to help them learn Silverlight and Blend and I had left him wandering aimlessly in the woods.  Not cool! What to do?

So, I decided that Ted would be one of those readers that is smart enough not to need to be guided through a narrative on how to learn Silverlight  and Blend.  After some thought it hit me that Ted is one of those that would benefit from a “ take one from column A and one from column B ” kind of learning regime. 

With that, I pointed Ted at my  personal blog where I have about 30-40 free Silverlight video tutorials.  They range from “ how to build a chrome button in Blend”  to “ how to de-serialize XML into native Silverlight objects .”

The danger of pointing a Silverlight newcomer to these videos is there is no structure, the reader is free to run wild and possibly tutorialize themselves into total confusion. 

Which, by the way I think my beginner books are great:  I take your hand at the very beginning and then walk you through, step by step how I think you should learn Silverlight and Blend and then when I think you are ready I let your hand go and tell you to now go forth and learn, you are ready.

So, this morning I received an email from a very excited and happy Ted telling me that my videos are what he has been looking for since he started this mission to learn Silverlight/Blend some 15 days ago.  Further, he was so satisfied he was compelled to post a comment entitied  “Must Watch – Must Read Resources for Blend!”  on the Microsoft Expression website, found  Below are a couple of excerpts from his post:

“…He explained things I had not seen in any help files or any other videos in 14 days of research.  You might be tempted to skip the first video about the UI, don’t do it!  One of the HUGE keys to understanding Blend is understanding the interface….”

“…Trust me, if you watch Victor’s videos, you will have about 50% fewer questions on how to do things in Blend.  If you work through the self paced tutorial, you will have another 50% reduction.  Just think, you will actually be able to do something in Blend, not wait for answers here, and when you DO have a question, it will probably be code related or something pretty esoteric that these experts can really sink their teeth into!…”

So now I have fulfilled my goal of helping one more person who wants to learn Silverlight and Blend.  And along the way, I discovered a way to make my new book better and even made a friend along the way.  Thanks Ted, my friend.

November 26, 2009

A Rough Draft of my New Silverlight 4 Book (due out in 2010)

— Victor @ 12:52 pm

Apress/Friends of Ed has engaged me to write a follow up to my last book Foundation Blend 3 with Silverlight . This new book will have all of the information from my last book as it is still relevant for Silverlight 4 but will also include the many wonderful new features of Silvelright 4.  I have created a rough draft for the Table of Contents for the new book and have decided to share it with you.  Please feel free to help me out and provide me with comments so that I can provide you with the best product to help those that are interested learn Silveright.

Table of Contents (working name: Foundation: Silverlight 4)

  • Setting up the development environment (Blend 3  probably Blend 4 when released, Visual Studio 2010, Silverlight 4 Tools, Silverlight 4 Runtime)
  • The Blend 3 (probably 4) Integrated Development Environment: The Toolbar, panels, artboard, workspace modes (Animation v Design)
  • C#, XAML, and Object Oriented Programming
  • Controls: Including the new Silverlight 4 Controls: ViewBox, RichTextArea ,  FlowDirection Property, the Improved DataGrid
  • Timed Storyboards: Creating a Newton Cradle application
  • Using the VSM and Blend 3’s State panel to create a Silverlight Media Player
  • Behaviors: Included behaviors and custom behaviors: Using the FarseerPhysics engine to create a simple Silverlight 4 video game
  • The Silverlight MediaElement: Create a video player application with Behaviors, XML serialization, and the new Silverlight 4 Drop property
  • Using RIA services with the Silverlight 4 Network Authentication
  • Events and EventHandlers including SL 4 right-click and MouseWheel event handling
  • Classes and Interfaces
  • ControlTemplates, Styles and Custom UserControls
  • Writing a Custom Silverlight 4 Content Panel
  • Writing a Silverlight 4 Out of the Browser application with Elevated Trust and the new Silverlight 4 COM API
  • DataBinding: What is it? Improvements in Silverlight 4: DependencyObject Binding,  StringFormat ,  TargetNullValue, FallbackValue
  • Silverlight 4 Managed Extensibility Framework (MEF)
  • Building a Sketchflow Prototype
  •  The Silverlight 4 Printing and Open Save APIs: Create an Image Printer application
  • Creating a Photobooth application with the Silverlight 4 Microphone and Webcam API
  • Miscellaneous Silverlight 4 Features:  The Clipboard API,  Command support for Buttons,  HTML support, the Notification API, TextTrimming, Full Keyboard access in Full Screen,  Offline DRM support, Data Validation, ,Fluid user interface support, Implicit theming for Controls, Google Chrome support

This is actually my first week of WPF and it has been a frustrating one as it is very difficult to install the WPF authoring environment. The reason for this is because MS has not released the final build for WPF as of yet. So, in order to install the authoring environment you have to install a few different things. They are:

  1. The .NET 3.0 Framework (if you have .NET 2.0 framework it might be best to uninstall it first.

  2. Visual Studio 2005 (Visual Studio Express is free and should work).

  3. Orcas.

  4. MS Interactive Designer (formally known as Sparkle)

  5. Visual Studio Extensions (so you can create a WPF project).

This should get you up and running. Soon, I will post a blog about creating a very simple WPF application. However, in the meantime I would suggest you get Jesse Libery's and Brian MacDonald's book on C#, called C# 2005 and Jessey Libery's book called, ironically enough C# and brush up on your C#. Good luck. Victor

Today I am posting my first WPF application. It is simple but I think it does show the power of the WPF 3D engine. If you have trouble seeing it you may have to download IE 7. Soon, I will post a tutorial on how I built it; you will be amazed on how simple the code for this was. Victor 

I have been in WPF bootcamp for the last three weeks and have learned quite a bit. Soon, I will post tutorials on how to style buttons as well as how to make a simple video player. Keep checking back. Victor 

We have written an exporter for 3DS Max so I have been learning the basics of that program. I made a simple model of a lightsaber with a simple rotation animation and exported it to XAML. Take a look:

Blend Beta 2 is out. I don't know if you have used this but this is awesome for the design side of WPF. I still use Visual Studio for the C#. 

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Introduction to WPF in Visual Studio

  • 1 contributor

Windows Presentation Foundation (WPF) in Visual Studio provides developers with a unified programming model for building line-of-business desktop applications on Windows.

Create Desktop Applications with Windows Presentation Foundation

Designing XAML in Visual Studio and Blend for Visual Studio

Introduction to WPF

WPF in the .NET Framework

Get Visual Studio

.NET Desktop feedback

Additional resources

IMAGES

  1. An Introduction To Windows Presentation Foundation Wpf Architecture Images

    what is windows presentation foundation (wpf)

  2. Overview Of Windows Presentation Foundation Wpf Archi

    what is windows presentation foundation (wpf)

  3. Overview of Windows Presentation Foundation (WPF) Architecture

    what is windows presentation foundation (wpf)

  4. PPT

    what is windows presentation foundation (wpf)

  5. Windows Presentation Foundation WPF

    what is windows presentation foundation (wpf)

  6. Windows Presentation Foundation (WPF) Application Development

    what is windows presentation foundation (wpf)

VIDEO

  1. Windows Presentation Foundation (WPF) Grid Layout Control Part 2

  2. 133 Einführung in Oberflächenprogrammierung mit WPF

  3. WPF: Charting

  4. WPF 3D

  5. Windows Presentation Foundation الدرس الأول

  6. WPF

COMMENTS

  1. What is Windows Presentation Foundation

    Show 7 more. Welcome to the Desktop Guide for Windows Presentation Foundation (WPF), a UI framework that is resolution-independent and uses a vector-based rendering engine, built to take advantage of modern graphics hardware. WPF provides a comprehensive set of application-development features that include Extensible Application Markup Language ...

  2. Windows Presentation Foundation

    Windows Presentation Foundation (WPF) and XAML combine into a rich presentation system for building Windows desktop applications with visually stunning user experiences that incorporate UI, media, and complex business models. Rapidly develop enterprise-class line of business applications with a comprehensive set of features like controls, data ...

  3. What is WPF?

    Windows Presentation Foundation (WPF) is a development framework used to create a desktop application. It is a part of the .NET framework. The WPF has a resolution-independent and vector-based rendering engine which is helpful to deal with modern graphics hardware. The latest version of WPF is 4.6.

  4. Tutorial: Use Windows Presentation Foundation (WPF)

    Tutorial: Create a WPF application with Visual Basic

  5. Windows Presentation Foundation

    Windows Presentation Foundation

  6. Windows Presentation Foundation for .NET 8 documentation

    Windows Presentation Foundation documentation. Learn about using Windows Presentation Foundation (WPF), an open-source, graphical user interface for Windows, on .NET. Learn about WPF Overview WPF overview; What's new Differences from .NET Framework; Tutorial Create a new app ...

  7. Windows Presentation Foundation (WPF)

    Windows Presentation Foundation (WPF) is a UI framework for building Windows desktop applications. WPF supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding and documents. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative ...

  8. Windows Presentation Foundation (WPF)

    Windows Presentation Foundation (WPF) is a UI framework for building Windows desktop applications. WPF supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding and documents. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative model for application programming.

  9. What is WPF?

    WPF, which stands for Windows Presentation Foundation, is Microsoft's latest approach to a GUI framework, used with the .NET framework. ... WPF is the newest, but Microsoft is still maintaining and supporting WinForms. As you will see in the next chapter, there are quite a few differences between the two frameworks, but their purpose is the ...

  10. What is the difference between Window Presentation Foundation and WCF

    WPF == Windows Presentation Foundation WCF == Windows Communication Foundation. WPF is the direct replacement for WinForms. WCF is a framework for talking to webservices, it replaces Remoting. I could waffle for hours on this, but that is a short answer for you :) Share. Improve this answer.

  11. Hello World app with WPF in C#

    WPF, or Windows Presentation Foundation, is a UI (user interface) framework that creates desktop client applications. The WPF development platform supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding, documents, and security.

  12. WPF vs WinForms

    Windows Presentation Foundation (WPF) and Windows Forms (WinForms) are two prominent options, each with distinct traits. WPF, with its modern approach, offers a high degree of flexibility. Its extensible XAML-based architecture allows for creative and customized user interfaces. It's particularly suited for applications requiring intricate ...

  13. Is WPF Dead? The Data Says Anything But, here's why

    What is WPF? WPF or Windows Presentation Foundation is a graphical framework by Microsoft for building rich interactive and visually appealing desktop applications. WPF has been around since 2006 where it was first introduced as codename 'Avalon' in Microsoft .NET Framework v3.0. Since then, WPF has undergone many evolutions and is actively ...

  14. C# WPF Tutorial #1

    A brief description on Windows Presentation Foundation (WPF), a .NET UI framework. This is the first video of a series on using WPF with C#, and I thought it...

  15. Getting Started

    Windows Presentation Foundation (WPF) is a UI framework that creates desktop client applications. The WPF development platform supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding, documents, and security. It is a subset of the .NET Framework, so if you ...

  16. Essential Windows Presentation Foundation

    Windows Presentation Foundation (WPF) replaces Microsoft's diverse presentation technologies with a unified, state-of-the-art platform for building rich applications. WPF combines the best of Windows and the Web; fully integrates user interfaces, documents, and media; and leverages the full power of XML-based declarative programming. ...

  17. Windows Presentation Foundation

    The Windows Presentation Foundation (or WPF), formerly code named Avalon, is the graphical subsystem feature of the .NET Framework 3.0 (formerly called WinFX) and is directly related to XAML. It is pre-installed in Vista, the latest version of the Microsoft Windows operating system.

  18. Introduction to WPF in Visual Studio

    Windows Presentation Foundation (WPF) in Visual Studio provides developers with a unified programming model for building line-of-business desktop applications on Windows. The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.