Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. WPF, love it or hate it?

WPF, love it or hate it?

Scheduled Pinned Locked Moved The Lounge
csharpwpfquestionlearning
60 Posts 28 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Preev

    WPF sounds like a good idea, but I'm wondering if it's worth the learning curve. Has anyone here actually used it successfully? Any positive or negative comments?

    DP

    B Offline
    B Offline
    Brent Lamborn
    wrote on last edited by
    #25

    Hate it. I like Adobe's Flex platform much more. Databinding is much more intuitive, controls can be styled with regular CSS and I feel it provides more seperation between layers. Flex feels like a presentation layer. To me WPF feels like a mix between presentation and biz logic. Animations render far more smoothly in Flex as well. WPF doesn't do what you expect it to do sometimes given the XAML I'm staring at - therefore I've renamed it WTF. The Expressions stuff is odd - difficult to figure out.

    Brent

    1 Reply Last reply
    0
    • P Preev

      WPF sounds like a good idea, but I'm wondering if it's worth the learning curve. Has anyone here actually used it successfully? Any positive or negative comments?

      DP

      C Offline
      C Offline
      chaiguy1337
      wrote on last edited by
      #26

      That's actually a tough call. Here are the facts: * It's far more capable than WinForms, and is undoubtedly the "next generation". * It's complicated as hell, and will no doubt frustrate you beyond measure in your attempt to learn it. So it's a toss-up. If you really want a "chewy" app with all sorts of fancy capabilities, then I would say it's worth the pain learning it, but if you don't need it, it's not at a point where I can wholeheartedly say go out and learn it already, because I know how much it hurts. :P I will say this though: I love what I can do with it, but I hate how I have to go about doing it.

      Sad but true: 4/3 of Americans have difficulty with simple fractions. There are 10 types of people in this world: those who understand binary and those who don't. {o,o}.oO( Check out my blog! ) |)””’)          http://pihole.org/ -”-”-

      1 Reply Last reply
      0
      • P Preev

        What is it about WPF that gives it a "Wow" advantage over using standard controls? I've heard comments like this, but I don't understand the difference. I'm sure that's because I know little about WPF at this point, but I'd love it if you could elaborate.

        DP

        C Offline
        C Offline
        chaiguy1337
        wrote on last edited by
        #27

        Two things that I think were done exceptionally well in WPF are the layout model and the content model. I love the choices we have in designing a declarative, dynamic layout (StackPanels, DockPanels, WrapPanels, Grid) rather than the comparatively limited layout options in WinForms. It makes designing the dynamic resizing of a window in WPF a breeze. The content model is equally as great, as it allows you to embed anything inside any content control, like adding custom user controls inside a button or tab header for example, or pictures with transforms. You aren't limited to supporting only media types that the control designer intended, as you are with WinForms. It's completely universal. You can even embed blocks of custom content into a flow document, and have text flow around it and stuff.

        Sad but true: 4/3 of Americans have difficulty with simple fractions. There are 10 types of people in this world: those who understand binary and those who don't. {o,o}.oO( Check out my blog! ) |)””’)          http://pihole.org/ -”-”-

        1 Reply Last reply
        0
        • S Stuart Dootson

          I have, in small apps. I like it. The declarativeness, the ease of binding data to the UI.

          C Offline
          C Offline
          chaiguy1337
          wrote on last edited by
          #28

          I'm going to have to disagree with you on that one. While I agree the DataBinding is certainly powerful (and can, in certain scenarios be very simple), there are cases where the binding syntax can become quite horrific indeed. For example, imagine something like this:

          S U 2 Replies Last reply
          0
          • M Mycroft Holmes

            Edbert P wrote:

            we're programmers, not designers

            Now that's my problem. I'm a data centric developer, I'm bloody hopeless at good GUI design (the reason I hate the web - all presentation) and WPF seems to be all about GUI. I have all my GUIs set up for late binding and no longer have to think about it and along comes WPF which wants let me bind EVERYTHING. Bloody new fangled technologies, MS always putting up new toys to play with and you can never be sure which ones will last grumble grumble mutter mutter

            Never underestimate the power of human stupidity RAH

            C Offline
            C Offline
            chaiguy1337
            wrote on last edited by
            #29

            Well, it is called Windows Presentation Foundation ;)

            Sad but true: 4/3 of Americans have difficulty with simple fractions. There are 10 types of people in this world: those who understand binary and those who don't. {o,o}.oO( Check out my blog! ) |)””’)          http://pihole.org/ -”-”-

            1 Reply Last reply
            0
            • P Phil Martin

              That's my biggest gripe with it as well. Why use XML? honestly! Things would be so much simpler to understand if it used a format that was more tailored to the purpose. XAML is so exceedingly hard to read, one wonders why it was done that way. I'm sure there are lots of good technical reasons, it is just a shame is all. WPF has so many great concepts, but some parts of it are just mind bogglingly frustrating.

              C Offline
              C Offline
              chaiguy1337
              wrote on last edited by
              #30

              I wholeheartedly agree. XML is a horrible syntax to type by hand, even with Intellisense. I also strongly recommend Pete O'Hanlon's MoXAML Power Toys[^] if you do a lot of work with XAML/WPF as it allows proper XAML commenting and auto-generation of DependencyProperties.

              Sad but true: 4/3 of Americans have difficulty with simple fractions. There are 10 types of people in this world: those who understand binary and those who don't. {o,o}.oO( Check out my blog! ) |)””’)          http://pihole.org/ -”-”-

              1 Reply Last reply
              0
              • C chaiguy1337

                I'm going to have to disagree with you on that one. While I agree the DataBinding is certainly powerful (and can, in certain scenarios be very simple), there are cases where the binding syntax can become quite horrific indeed. For example, imagine something like this:

                S Offline
                S Offline
                Stuart Dootson
                wrote on last edited by
                #31

                chaiguy1337 wrote:

                I'm going to have to disagree with you on that one

                That's OK - no law against that...yet ;P

                chaiguy1337 wrote:

                there are cases where the binding syntax can become quite horrific indeed

                Yeah - I never got anything as bad as that. I was throwing Booleans and collections of objects around and it was all pretty simple.

                1 Reply Last reply
                0
                • M Member 96

                  I took a look at it, could find no justification for using it in the business apps I write, however I might look at it again next new project I embark on simply for the lone fact that I like the idea of a UI done with vector graphics, the rest is irrelevant to me.


                  "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                  S Offline
                  S Offline
                  steven higgan
                  wrote on last edited by
                  #32

                  wow, personally a data binding model that actually works was enough incentive to use it for new projects.

                  M 1 Reply Last reply
                  0
                  • S steven higgan

                    wow, personally a data binding model that actually works was enough incentive to use it for new projects.

                    M Offline
                    M Offline
                    Member 96
                    wrote on last edited by
                    #33

                    steven.higgan wrote:

                    a data binding model that actually works

                    :confused: I guess my thousands of customers worldwide using our winform app are all mass hallucinating that the databinding is working every day for years now? :)


                    "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                    1 Reply Last reply
                    0
                    • P Preev

                      WPF sounds like a good idea, but I'm wondering if it's worth the learning curve. Has anyone here actually used it successfully? Any positive or negative comments?

                      DP

                      C Offline
                      C Offline
                      CannibalSmith
                      wrote on last edited by
                      #34

                      WPF is simply awesomesaurus. Finally, the only limit to GUI design is your imagination. It took me two weeks and a good book to learn it well enough to use in a project.

                      U N 2 Replies Last reply
                      0
                      • C chaiguy1337

                        I'm going to have to disagree with you on that one. While I agree the DataBinding is certainly powerful (and can, in certain scenarios be very simple), there are cases where the binding syntax can become quite horrific indeed. For example, imagine something like this:

                        U Offline
                        U Offline
                        urbane tiger
                        wrote on last edited by
                        #35

                        chaiguy1337 wrote:

                        For example, imagine something like this:

                        I doubt that those of us who are unfamiliar with WPF could consciously imagine that (to dream it would surely be a nightmare). What does it actually do?

                        C 1 Reply Last reply
                        0
                        • U urbane tiger

                          chaiguy1337 wrote:

                          For example, imagine something like this:

                          I doubt that those of us who are unfamiliar with WPF could consciously imagine that (to dream it would surely be a nightmare). What does it actually do?

                          C Offline
                          C Offline
                          chaiguy1337
                          wrote on last edited by
                          #36

                          Oh nothing that I can imagine. I just intentionally constructed the longest syntax I could, using all the various options. Chances of this arising "in the wild" are slim, and good design can avoid having to resort to something like this, but my point was that DataBinding actually has a lot of complicated subtleties you have to (or should) be aware of. ...and I didn't even show the implementations of the converters. ;)

                          Sad but true: 4/3 of Americans have difficulty with simple fractions. There are 10 types of people in this world: those who understand binary and those who don't. {o,o}.oO( Check out my blog! ) |)””’)          http://pihole.org/ -”-”-

                          1 Reply Last reply
                          0
                          • N NormDroid

                            My experience so far, it's great for business and non business apps that have rich UI. What lets WPF down it when it comes to process large amounts of information. For example I have a SQL studio written in Winforms that uses a custom listview for output/results, using the listview in WPF is 50% slower, this is purely down to the way WPF presents and renders UI and data. I thought going direct through DirectX would improved performance.

                            Software Kinetics - Moving software

                            P Offline
                            P Offline
                            Pierre Leclercq
                            wrote on last edited by
                            #37

                            Norm .net wrote:

                            Winforms that uses a custom listview for output/results, using the listview in WPF is 50% slower

                            Actually it should not. You might have to reconsider the way you use the listview. I do not know what kind of tests you have done to come up with this number, but it is not justified. (And no you do not have to use directx to re-implement a listview)

                            N 1 Reply Last reply
                            0
                            • C CannibalSmith

                              WPF is simply awesomesaurus. Finally, the only limit to GUI design is your imagination. It took me two weeks and a good book to learn it well enough to use in a project.

                              U Offline
                              U Offline
                              urbane tiger
                              wrote on last edited by
                              #38

                              CannibalSmith wrote:

                              and a good book

                              wanna tell us which book?

                              P C 2 Replies Last reply
                              0
                              • U urbane tiger

                                CannibalSmith wrote:

                                and a good book

                                wanna tell us which book?

                                P Offline
                                P Offline
                                Pierre Leclercq
                                wrote on last edited by
                                #39

                                http://www.amazon.fr/Windows-Presentation-Foundation-Adam-Nathan/dp/0672328917/ref=sr_1_1?ie=UTF8&qid=1229465624&sr=8-1[^]

                                1 Reply Last reply
                                0
                                • P Preev

                                  WPF sounds like a good idea, but I'm wondering if it's worth the learning curve. Has anyone here actually used it successfully? Any positive or negative comments?

                                  DP

                                  J Offline
                                  J Offline
                                  James Lonero
                                  wrote on last edited by
                                  #40

                                  WPF looks cool, the screens you can make with animation. But the learning curve is too steep. I used up over a week to figure out how to get vertical lines to appear on a data grid, and not even the one provided in WPF. The databinding is really great to get tabled data onto a data grid, but the styling is painful. It required more time than I had. Prior to that, I spent some time investigating 3rd party libraries from DevExpress and Infragistics for WinForms. After my trials with WPF, my company decided to embark on using Infragistics. Our data is very much tabular what we display to the user. Infragistics allows us to have simple databinding, either to a database table, xml data, or internal List<> or array. Setting up the styling (attributes) is lengthy, since there are so many. There are close to 1,000 attributes that you can set for a data grid. And, you can either set them up programatically, in the property window of VS, or their own dialogs. Now, people at my company are creating applications that look like they were made in WPF, using Infragistics WinForms. Note that both Infragistics and DevExpress are costly libraries, but they have a pay schedule and DevExpress offers some free UI controls. Happy UI coding.

                                  N 1 Reply Last reply
                                  0
                                  • P Pierre Leclercq

                                    Well if you think you must use XAML to use WPF, then you should go back and learn more about it. You really do not have to do that, although it is very convenient and elegant when used correctly. All the classes used in WPF are part of the dotnet framework so you can do everything manually if this is your vehicle of choice, but XAML will help keep complexity down.

                                    thrakazog wrote:

                                    There is also no visual inheritance

                                    There is actually visual inheritance, although it could be improved. This is what templates are about.

                                    T Offline
                                    T Offline
                                    thrakazog
                                    wrote on last edited by
                                    #41

                                    Pierre Leclercq wrote:

                                    Well if you think you must use XAML to use WPF

                                    I never said you must use it. In fact I made a point to say it's possible without it. There just isn't much documentation availible that is XAML free.

                                    P 1 Reply Last reply
                                    0
                                    • N NormDroid

                                      My experience so far, it's great for business and non business apps that have rich UI. What lets WPF down it when it comes to process large amounts of information. For example I have a SQL studio written in Winforms that uses a custom listview for output/results, using the listview in WPF is 50% slower, this is purely down to the way WPF presents and renders UI and data. I thought going direct through DirectX would improved performance.

                                      Software Kinetics - Moving software

                                      R Offline
                                      R Offline
                                      rjempo
                                      wrote on last edited by
                                      #42

                                      Firstly, I both love and hate WPF. I hated the grind of getting the foundations of my current project up and running, but once I had some momentum it was a real time saver. And the outcome is a nicer UI as well. As for performance with large sets of data, perhaps you can consider using a control that implements some sort of virtualization of it's rows. For example, the xCeed WPF grid can host 1000s of rows, but will only be consuming UI memory for those that are currently displayed (and maybe a buffer).

                                      rjempo

                                      N 1 Reply Last reply
                                      0
                                      • T thrakazog

                                        Pierre Leclercq wrote:

                                        Well if you think you must use XAML to use WPF

                                        I never said you must use it. In fact I made a point to say it's possible without it. There just isn't much documentation availible that is XAML free.

                                        P Offline
                                        P Offline
                                        Pierre Leclercq
                                        wrote on last edited by
                                        #43

                                        thrakazog wrote:

                                        I never said you must use it. In fact I made a point to say it's possible without it

                                        Well ... codeproject allows you to modify posted messages at any time without leaving a hint so I will not elaborate on this....

                                        thrakazog wrote:

                                        There just isn't much documentation availible that is XAML free.

                                        It is just false. For example see: http://www.amazon.fr/Applications-Code-Markup-Presentation-Foundation/dp/0735619573/ref=sr_1_1?ie=UTF8&s=english-books&qid=1229490679&sr=8-1[^] The first half of this book is totally xaml free (over a 1000 pages). (Petzold is quite well known) So you should do a little research and come back when you know a bit about what you are talking about... And by the way you could also try: http://msdn.microsoft.com/en-us/library/system.windows.aspx[^] Please do not say you were not aware of the existence of the MSDN library...

                                        T 1 Reply Last reply
                                        0
                                        • U urbane tiger

                                          CannibalSmith wrote:

                                          and a good book

                                          wanna tell us which book?

                                          C Offline
                                          C Offline
                                          CannibalSmith
                                          wrote on last edited by
                                          #44

                                          http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917[^]

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups