{"id":103,"date":"2014-11-12T07:37:00","date_gmt":"2014-11-12T14:37:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2014\/11\/12\/the-roadmap-for-wpf\/"},"modified":"2019-04-11T20:12:55","modified_gmt":"2019-04-12T03:12:55","slug":"the-roadmap-for-wpf","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-roadmap-for-wpf\/","title":{"rendered":"The Roadmap for WPF"},"content":{"rendered":"<p>When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV\u2019s, 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 \u2013 10% of all <em>newly<\/em> 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 <a href=\"http:\/\/www.interknowlogy.com\/projects\/#cnn\">InterKnowlogy<\/a>. 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\u2019s Magic Wall, which Microsoft\u2019s <a href=\"http:\/\/pulse.bing.com\/\">Bing Pulse<\/a> team helped to develop.<\/p>\n<p>This post will address the roadmap for the WPF platform, including areas of investment we\u2019re prioritizing and tooling improvements for upcoming releases of Visual Studio.<a name=\"_Support\"><\/a><\/p>\n<h2>Areas of Platform Investment<\/h2>\n<p>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\u2019ve prioritized the following areas for future investments to make WPF a better platform.<s><\/s><\/p>\n<p><strong>Performance: <\/strong>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 <a>ItemsControls<\/a><strong>.<\/strong><\/p>\n<p><strong>DirectX interoperability: <\/strong>The primary scenario of interest here is to make it seamless for WPF applications to interoperate with newer versions of DirectX.<\/p>\n<p><strong>Supporting modern hardware: <\/strong>Technologies like touch and high density displays are ubiquitous on modern devices. To support upgrading to newer hardware, it\u2019s important that existing WPF applications can adapt to new hardware capabilities coming to desktop machines.<\/p>\n<p><strong>Tooling<\/strong>: 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.<\/p>\n<p>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.<\/p>\n<h2>Current Progress on WPF<\/h2>\n<p>Let\u2019s 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 <a href=\"http:\/\/windows.microsoft.com\/en-us\/windows\/lifecycle\">lifecycle<\/a> 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.<\/p>\n<h3>Improving WPF quality<\/h3>\n<p>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.<\/p>\n<p><strong>Some examples of recent fixes in WPF which will be available in .NET Framework 4.6<\/strong>:<\/p>\n<ul>\n<li>Multi-image cursor file support in<span style=\"color: #000000;\"> System.Windows.Input.<\/span><a><span style=\"color: #000000;\">Cursor<\/span><\/a><\/li>\n<li>Support for transparent child windows.<\/li>\n<li>Improved double tap gesture recognition by using common threshold distance from registry.<\/li>\n<li>Improved text selection through double tapping the WPF TextBox control.<\/li>\n<li>Improved reliability of stylus input for the WPF ComboBox control.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>We take your feedback to heart!<\/strong><\/p>\n<p>We are currently investigating a number of reliability issues and highly voted Connect bugs to address in a future release.<\/p>\n<table style=\"border-top-color: white; border-collapse: collapse; border-left-color: white; border-right-color: white; width: 700px;\" border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"639\"><strong>Title<\/strong><\/td>\n<td valign=\"top\" width=\"59\"><strong>Votes<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"639\"><strong><a href=\"https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/782456\/wpf-touch-event-fires-with-delay\">WPF Touch Event Fires with Delay<\/a><\/strong><\/td>\n<td valign=\"top\" width=\"59\">29<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"639\"><strong><a href=\"https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/775972\/wpf-ribbon-window-the-border-is-too-thin\">WPF Ribbon Window: The border is too thin<\/a><\/strong><\/td>\n<td valign=\"top\" width=\"59\">18<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"639\"><strong><a href=\"https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/768240\/using-bitmapframe-create-with-any-tiff-file-allocates-300mb-of-reserved-memory-if-microsoft-camera-codec-pack-is-installed\">Using BitmapFrame.Create with any TIFF file allocates 300MB of RESERVED MEMORY if Microsoft Camera Codec Pack is installed<\/a><\/strong><\/td>\n<td valign=\"top\" width=\"59\">12<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Tooling Improvements<\/h3>\n<p>Tooling for WPF was a top customer request during our interviews with our customers and the surveys. <a><span style=\"color: #000000;\">This sentiment is reflected in the feedback on<\/span> <\/a>UserVoice, where 3 out of the top 5 ideas in the <a href=\"http:\/\/visualstudio.uservoice.com\/forums\/121579-visual-studio\/category\/44115-xaml-tools\">XAML tools category<\/a> were either attributed directly to WPF or had users requesting WPF support in the comments.<\/p>\n<p><strong>Visual Diagnostics: <\/strong>The #1 request from the surveys and #2 <a href=\"http:\/\/visualstudio.uservoice.com\/forums\/121579-visual-studio\/suggestions\/2274717-xaml-debugger\">idea<\/a> 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.<\/p>\n<div align=\"center\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/5265.VisualDiagnostics3_thumb_1DAB6756.png\"><img decoding=\"async\" style=\"padding-top: 0px; padding-left: 0px; padding-right: 0px; border-width: 0px;\" title=\"VisualDiagnostics3\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/5265.VisualDiagnostics3_thumb_1DAB6756.png\" alt=\"VisualDiagnostics3\" width=\"644\" height=\"454\" border=\"0\" \/><\/a><\/div>\n<p><strong>Timeline Tool: <\/strong>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 <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudio\/archive\/2014\/06\/12\/new-memory-usage-tool-for-wpf-and-win32-applications.aspx\">Memory usage<\/a> and <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2014\/02\/28\/new-cpu-usage-tool-in-the-performance-and-diagnostics-hub-in-visual-studio-2013.aspx\">CPU usage<\/a> tools, we will provide you with a complete toolset right within Visual Studio to build fast and fluid WPF applications.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/8311.Performance-and-Diagnostics-Hub2_thumb_601E098C.png\"><img decoding=\"async\" style=\"float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"Performance and Diagnostics Hub2\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/8311.Performance-and-Diagnostics-Hub2_thumb_601E098C.png\" alt=\"Performance and Diagnostics Hub2\" width=\"644\" height=\"528\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/1513.Timeline-Tool-Zoom_thumb_7EC0CDE0.png\"><img decoding=\"async\" style=\"float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"Timeline Tool Zoom\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/1513.Timeline-Tool-Zoom_thumb_7EC0CDE0.png\" alt=\"Timeline Tool Zoom\" width=\"644\" height=\"413\" border=\"0\" \/><\/a><\/p>\n<p><strong>Blend Improvements:<\/strong> 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 <a><span style=\"color: #000000;\">new Blend<\/span> <\/a>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 <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudio\/archive\/2013\/10\/14\/asynchronous-solution-load-performance-improvements-in-visual-studio-2013.aspx\">asynchronous solution load<\/a> 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.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/8272.Blend_thumb_7BB60362.png\"><img decoding=\"async\" style=\"float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"Blend\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/8272.Blend_thumb_7BB60362.png\" alt=\"Blend\" width=\"744\" height=\"401\" border=\"0\" \/><\/a><\/p>\n<p>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!<\/p>\n<h2>Tell us more!<\/h2>\n<p>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, <a href=\"mailto:wpfteam@microsoft.com\">email<\/a>, <a href=\"http:\/\/connect.microsoft.com\/VisualStudio\">Connect<\/a> bugs and <a href=\"https:\/\/visualstudio.uservoice.com\/forums\/121579-visual-studio\/category\/89380-windows-presentation-foundation\">User Voice<\/a> requests.<\/p>\n<table style=\"width: 691px;\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"166\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/6165.clip_image006_thumb_2376DF7C.png\"><img decoding=\"async\" style=\"padding-top: 0px; padding-left: 0px; padding-right: 0px; border-width: 0px;\" title=\"clip_image006\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/11\/6165.clip_image006_thumb_2376DF7C.png\" alt=\"clip_image006\" width=\"139\" height=\"180\" border=\"0\" hspace=\"12\" \/><\/a><\/td>\n<td valign=\"top\" width=\"523\"><strong>Author: Harikrishna Menon<\/strong>, Program manager, Visual Studio Client Tools Team<\/p>\n<p>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.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV\u2019s, 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 \u2013 10% of all newly created projects in Visual Studio 2013 [&hellip;]<\/p>\n","protected":false},"author":338,"featured_media":21773,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[509],"tags":[90,108,119,147,158],"class_list":["post-103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wpf","tag-lifecycle","tag-performance","tag-roadmap","tag-visual-studio","tag-wpf"],"acf":[],"blog_post_summary":"<p>When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV\u2019s, 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 \u2013 10% of all newly created projects in Visual Studio 2013 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/338"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/21773"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}