Pieter Breed
Pieter Breed

Reputation: 5689

Visual Design Application: WPF or WinForms(GDI)?

I have to develop an application with which my client will do visual design. By this I mean the graphical display and manipulation related entities. (Similar in principle to ERD, but obviously then again, completely different problem area)

Think of Visual Studio which has a toolbox, each item has some properties etc. Items have certain kinds of relationships, also which need properties and so on.

I need to decide whether I want to do it in Windows Forms where I will have to use some 3rd party graphing/visual design library or whether I want to tackle this beast with WPF where I have some design tools available. (I'm talking about the Blend suit)

What do you think? Would you do this in WPF or WinForms? Why? What components (if any) would you use?

Upvotes: 3

Views: 1359

Answers (5)

Cyril Gupta
Cyril Gupta

Reputation: 13723

Well let me give you my two cents about WPF. I am quite fascinated with it and ultimately I believe that the entire Windows programming community would migrate to something like that cause it offers really fluid displays.

That said I am having a lot of trouble running my WPF application on people's computer. I made it using .Net Framework SP1 and while it runs just fine on my development Vista OS with .Net and VS 2008 installed it just doesn't run at all when I run it on my production XP sp2 machines.

This happened when I had already completed the entire app, so I don't have the energy right to re-write it in Winforms (though I will have to do that soon enough).

WPF also uses some mysterious functions in .Net 3.5 SP1 and if you install it on a machine that has .Net framework regular (not SP1) it crashes with a mysterious error which is not helpful at all.

So trust me, I am not happy being a WPF developer right now. In fact that was 3 months ago and I haven't touched WPF since then, and I am not going to touch it for a while for a professional quality application.

Upvotes: 4

Chris Nicol
Chris Nicol

Reputation: 10366

I think it depends on the skillset of your team, but having said that from my experience, WPF is much easier to develop windows applications with.

If you have a developer that has been doing Winforms for many years then perhaps it would be a better idea to develop in winforms.

I doubt there can be much debate that WPF is the way of the future, MS themselves are developing many of the flagship products on WPF and will continue to do so (Visual Studio 2010 as one example).

There's a lot of smart people that have worked on WPF and I think that there's a lot you can accomplish with it and at a high productivity level.

Upvotes: 0

Oleg Mihailik
Oleg Mihailik

Reputation: 2590

There's a quick fix for exactly the requirements you have. You'll have to use WinForms.

Thing is, design surface in Visual Studio is available for reuse without actual Visual Studio. Check out this MSDN Article, it has your requirements implemented for you already:

http://msdn.microsoft.com/cc163634.aspx

I wish Cider (WPF design surface) were available too, but it's not.

Upvotes: 1

gimel
gimel

Reputation: 86344

Listen to SO Podcast #61, or read the transcript:

de Icaza: Yeah, that's right. It's kind of a -- yeah, they picked a small interesting subset of both .net and WPF and made it into a plugin for the web and they added video and audio.

Spolsky: So it's supposed to be a Flash equivalent?

de Icaza: Yeah, exactly. You know, to me it's interesting because I get to write code in C# and I just happen to like the language. Silverlight is interesting from that perspective. Also because when Microsoft did that thing it's also a subset of WPF, it's a subset you can actually learn as opposed to WPF which I find [laughs] ginormous. [Continues...]

Spolsky: So it's the only port of WPF that the Silverlight guys could figure out [Laughing]

de Icaza: Exactly, exactly. It's like the good subset instead of the over-engineered version of it. ...

de Icaza and Spolsky seem to agree that WPF is difficult to understand, so the answer is, stick with Winforms. If a browser fits your requirements, you can consider Silverlight.

See also when-is-winforms-the-correct-choice-vs-wpf.

Upvotes: 0

Henk Holterman
Henk Holterman

Reputation: 273179

Well, here is an example using WPF. I think you will have to do some work in either WPF or WinForms, in providing your own Controls etc. WPF looks easier and better suited.

Upvotes: 2

Related Questions