When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV’s, and Microsoft Partners have made the technology central to their business, building amazing vertical solutions and mission critical applications for their customers. This momentum carries forward to today – 10% of all newly created projects in Visual Studio 2013 over the past 60 days are WPF. WPF has amassed a passionate, vibrant, community that uses it to build data-centric desktop business applications on Windows. A recent example of this would be a new WPF application that was developed by our partners at InterKnowlogy. This application was recently used by CNN producers in the mid-term elections to upload, validate, and configure the data seen in the on-air election application. The election data is presented on CNN’s Magic Wall, which Microsoft’s Bing Pulse team helped to develop.
Areas of Platform Investment
Based on a survey we conducted at the //build conference earlier this year, UserVoice suggestions, and interviews with a large number of WPF developers across a variety of market segments over the past few months, we’ve prioritized the following areas for future investments to make WPF a better platform.
Performance: While WPF is actively being used to build large-scale, high performance applications like Visual Studio and Blend, further improving the performance of the platform based on customer feedback is a priority for us. Some key scenarios we are looking to optimize in this context are application startup, scrolling and virtualization performance of ItemsControls.
DirectX interoperability: The primary scenario of interest here is to make it seamless for WPF applications to interoperate with newer versions of DirectX.
Supporting modern hardware: Technologies like touch and high density displays are ubiquitous on modern devices. To support upgrading to newer hardware, it’s important that existing WPF applications can adapt to new hardware capabilities coming to desktop machines.
Tooling: We will continue to co-evolve the tools for WPF when appropriate, alongside new platforms like .NET/WINRT. This commitment is reflected in the tooling investments section of this post.
Investments in some of these areas might introduce dependencies on a particular OS version and/or have compatibility risks. For these cases, the features will light up based on the host OS and/or might require you to opt in to use the feature.
Current Progress on WPF
Let’s first address a common question regarding support: WPF is a quintessential part of the .NET Framework. The .NET Framework is defined as a component of the operating system, instead of an independent product. So, support for .NET Framework is driven by the support lifecycle policy of the Windows operating system. Extended support for the current recommended version of .NET (4.5.2) on Windows 8.1 is available till 2023. We will continue to fix security issues and bugs reported by customers that impact a large cross-section of our WPF customers.
Improving WPF quality
Work on improving WPF has never really stopped, and below are just a few examples of what you should expect to see in upcoming releases of Visual Studio 2015 and .NET 4.6.
Some examples of recent fixes in WPF which will be available in .NET Framework 4.6:
- Multi-image cursor file support in System.Windows.Input.Cursor
- Support for transparent child windows.
- Improved double tap gesture recognition by using common threshold distance from registry.
- Improved text selection through double tapping the WPF TextBox control.
- Improved reliability of stylus input for the WPF ComboBox control.
We take your feedback to heart!
We are currently investigating a number of reliability issues and highly voted Connect bugs to address in a future release.
Tooling for WPF was a top customer request during our interviews with our customers and the surveys. This sentiment is reflected in the feedback on UserVoice, where 3 out of the top 5 ideas in the XAML tools category were either attributed directly to WPF or had users requesting WPF support in the comments.
Visual Diagnostics: The #1 request from the surveys and #2 idea on XAML Tools UserVoice was the need for an UI debugger for WPF applications. We are super excited to announce that we are building a whole suite of debugging tools for WPF apps that enable you to inspect the live visual tree and modify the properties of the elements while debugging. We will even enable you to persist these changes back to your source.
Timeline Tool: An oft repeated request from our customers and the #4 request from the survey was better performance diagnostics tools for WPF. We are in the process of building a brand new diagnostics tool for WPF applications that will enable you to troubleshoot problems like slow application startup, poor frame rate and other common performance issues. Combined with the already available Memory usage and CPU usage tools, we will provide you with a complete toolset right within Visual Studio to build fast and fluid WPF applications.
Blend Improvements: Blend for Visual Studio 2015 has been redesigned to remain the preferred tool for creating beautiful user interfaces for XAML apps. Blend has a sleek new look consistent with Visual Studio to improve the workflow between the two products. In addition, the new Blend is based on the same technology as Visual Studio (including WPF!) to improve shortcomings that Blend previously had, including a better solution explorer and source control support. More importantly, XAML IntelliSense and basic debugging capabilities are now available in Blend. One of the primary drivers for this investment was the support for asynchronous solution load and best in class version control that we could now provide for large WPF solutions that are common in enterprises. In-place template editing now supports WPF, and this experience has been further refined to enable true in-situ editing by using Peek in XAML.
The Timeline tool and Visual Diagnostics features are not currently available in Visual Studio 2015 Preview and team is working hard to get it out as soon as possible. This is just a sneak peek at the improvements that we are prepared to disclose for now. Stay tuned for more exciting news in the near future!
Tell us more!
We are interested in knowing more about what you think about our roadmap for the WPF platform and the tooling investments in Visual Studio 2015. Please send us your feedback through replies to this post, email, Connect bugs and User Voice requests.
Author: Harikrishna Menon, Program manager, Visual Studio Client Tools Team
Hari is a Program Manager with Microsoft, and works on the Xaml Experiences Team in Visual Studio. He has been with Microsoft for over 6 years, and has shipped multiple versions of Visual Studio working on a variety of XAML tooling experiences spanning different XAML platforms like WPF, Windows Phone and Windows Store.