Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


wpf or not?

Posted on 2015-01-25
Medium Priority
Last Modified: 2015-01-26
Hi experts,
I'm impressed with what wpf can do, but is it the way to go? I'm creating a native app that runs only on Windows for now, and I want an app that looks very customized (non standard controls, borderless Windows, vector graphics are great)... but I'm wondering, what's my best bet here?

Question by:thready
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570048

As per my understanding, WPF is better choice if you want to use your app to next versions too seamlessly.

You may find following links helpful:

It is said not now, but in future, Microsoft will close support for WinForm.

So I may recommend WPF over WinForm.

LVL 70

Expert Comment

by:Éric Moreau
ID: 40570263
>>It is said not now, but in future, Microsoft will close support for WinForm.

This is not true. There are so many apps using Windows Forms that they need to support it. But that doesn't mean that it will evolve a lot!
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570303
Dear Eric,

I did not claim that Winforms is Dead, but everyone may accept that it has to. It has no enhancement since 2.0.

Please refer to following statement:
During a Q and A session at the Build 2014 Conference, Microsoft explained that Windows Forms was under maintenance mode, with no new features being added, but bugs found will still be fixed.

And Kindly also look at:

Again. It is my opinion, someone may have different opinion, but it is always recommended to go with new technologies, until unless there is some specific reason.

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 70

Expert Comment

by:Éric Moreau
ID: 40570350
I fully agree that Windows Forms had no enhancement but you said "Microsoft will close support for WinForm" and this is not true, they just cannot. The best example is that the VB6 runtime is still supported (

Author Comment

ID: 40570356
I guess the very fact that visual studio is done in wpf shows it's the best option for Windows apps...
LVL 16

Expert Comment

by:Imran Javed Zia
ID: 40570358
"It is said not now, but in future, Microsoft will close support for WinForm."

please note ,

"It is said"

And also note

" not now, but in future"

So I never claimed that they have stopped/closed.
LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 2000 total points
ID: 40571949
As with anything in computing, once you think with a cold head, it really depends on your requirements, nothing else.

Disregard the discussion about whether Windows Forms are dead and has not evolved recently. Windows Forms have been in evolution for close to 25 years. WPF for 7 or so. Comes a point when a technology is mature. I would be very mad at Microsoft if they kept adding useless features just for the sake of adding or changing features as they did in Office in 2007. Or if they brought everything down to a bland screen as they did in Windows RT and Office 2013.

If you are developing Windows applications that will work only on a standard Windows desktop, nothing beats Windows Forms. They were designed specifically for that purpose. You can have non standard controls (learn about inheritance or scour the Internet) and borderless windows (FormBorderStyle=None) in Windows Forms too. The controls in WPF look non standard because WPF does not use the native Windows controls. But when you have seen 10 WPF applications, you simply see them as a new standard.

Yes, WPF is more graphically oriented, mainly because Windows Forms do not have something like Microsoft Blend to design the form in the background. But if you stick only with the default WPF controls that you get through Visual Studio, I personally ended up finding them repetitive a lot faster that it took me to find Windows Form controls repetitive. Everybody wants 3D nowadays, so I cannot see what the fuss is about flat buttons and flat screens. Personal preferences.

WPF was designed for another purpose: extensibility on different platforms. Those who were there when the technology appeared remember that one its main reason for being was to bring Windows and Web development closer, so that jumping between the 2 technologies would be almost seamless.

There was also the idea that one day, the same application would work both on Windows and the Web. It seems that we will be there in the next version of Visual Studio, and even more so because you can add tablets and phones to the list of environments where a given application will be able to run. The Graal is close... are we being told.

So if you think that you are going into Windows, web and mobile development, WPF is definitively the way to go.

But as any experienced technologist will tell you (in any technology, not only in programming): having something that does everything is great, but it will never be able, in a given field, to do what a technology specialized in this field can do. A laser can cut anything. But I would rather use by table saw to cut a piece of wood, because the laser leaves a burned out edge while the table saw does not.

If you requirements are to create applications that runs only on a Windows desktop, although WPF makes it easier to create cool looking applications, the good old Windows Form application is right at home, because this is the only place it has ever lived. It knows that place like no other.

This being said, if you aim is to develop your expertise for what seems to be the future of computing, developing your skills in WPF might be a better choice. Maybe not for your users, but for you. See who you put first between these two. If you think that everything in the future will be mobile and cloud, then investing in WPF will help you make the transition when needed, if it is not already the case for you.

If you think (as many do) that the Windows desktop is there for the long run, then putting your expertise in Windows Form might be a better idea, because the way it is going now, all the young programmers are doing WPF, and there will eventually be a need for Windows Form programmers that will raise their value on the job market.

Am I glad that I am old enough not to have to weight all these things anymore.

Author Comment

ID: 40571988
Hi Jacques!

Awesome answer, thank you!  I'm torn between wanting to get something done quickly with WinForms and wanting to learn WPF.  I love the idea of having a UI that can scale itself with vector graphics and to do everything the way I'd want it to be.  But free time is scarce and I'm finding the learning resources daunting.  They're either too basic or not targeted enough to what I want to achieve.

My main interest is in creating a list control with column headers that can allow me to click on buttons in list view items that bring about popups, etc...  Is there a good book or resource you could point me to to get a good kick in the butt?  :)

Thanks again,

Author Closing Comment

ID: 40572015
I was about to start my project WinForms.  This answer has got me wanting to invest and learn WPF.

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA.…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question