What is the difference between WPF and WinForms?

One obvious answer is that WPF offers a richer user experience than WinForms, allowing for animations (even 3D) in the user interface, for example.

From a development perspective, it goes a long way to enforce the separation of the User Interface (in the XAML) from the business logic (in VB.NET or C#), which is always a good thing.

A Google search for “WPF vs WinForms” brings up lots of pages that discuss this issue. I won’t repeat all their findings here, but this page raises some interesting points:

  1. Databinding in WPF is superior to what Windows Forms offers.
  2. UI and C# business logic can be cleanly separated in WPF
  3. Storyboard
  4. Data/control templates – a much cleaner way than anything Windows
    Forms can offer.
  5. Styles – cool and simple. Its so easy to style all your buttons in an
    application to have the same look and
    feel.
  6. Even if the VS designer breaks, its easy to code XAML.
  7. UI virtualization – I’ve got grids with 100K rows, ticking off a moving
    market. Performance would be dreadful
    if it wasn’t for UI visualization
    which come for free.
  8. 3D support.
  9. Nothing scientific but, UI development feels quicker in WPF –
    maybe its just because a WPF
    application looks cooler at the end of
    an iteration, or maybe its because
    development really is quicker.
  10. I can add a User Experience engineer to my team, and with no C#
    knowledge he can work magic in
    Expression Blend and give the
    front-office trading application a
    makeover that is guaranteed to win
    over the business users.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)