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.
  • 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
              • R rjempo

                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 Offline
                N Offline
                NormDroid
                wrote on last edited by
                #45

                Yeah I'm quite familar with virtualization after all I've implemented what you described above for listviews and listboxes on Win32 for a number of years. Even with the virtualized flag set the performance is poor. I'll reverse engineer xCeeds grid and take a peek on how they've done it. But is common fact the WPF can produce poor ressults with large amount of data using some of native controls.

                Software Kinetics - Moving software

                1 Reply Last reply
                0
                • J James Lonero

                  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 Offline
                  N Offline
                  NormDroid
                  wrote on last edited by
                  #46

                  I agreed it's a big learning curve, I found using blend and VS 2005 'soften' the curve as you see how to style and templatize things by looking at what blend did. I resent buying 3rd party controls as you are tied in somebody elses product, with some effect these controls can be emulted to some degree and there's plenty of free stuff out there to use as a foundation.

                  Software Kinetics - Moving software

                  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.

                    N Offline
                    N Offline
                    NormDroid
                    wrote on last edited by
                    #47

                    Well can't wait for your book, 'Learn WPF in 14 days' ;P

                    Software Kinetics - Moving software

                    U 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

                      D Offline
                      D Offline
                      deostroll
                      wrote on last edited by
                      #48

                      I am not that exposed to WPF. I only know theoretical bits of it. Perhaps there is the advantage of the UI and the app's logic being separate so that it becomes easy to maintain the application. But I ask my self, how does this fact become really useful to us? Perhaps at design time you can have separate people working on the logic and the UI... And once the application is deployed I just don't understand how this detached nature is practical, especially if you are thinking of a desktop application? These are just my thoughts. However if I do find some good motive I'll try moving towards it...

                      1 Reply Last reply
                      0
                      • P Pierre Leclercq

                        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 Offline
                        N Offline
                        NormDroid
                        wrote on last edited by
                        #49

                        Pierre Leclercq wrote:

                        but it is not justified

                        Oh but I HAVE Conclusive evidence,

                        		<ListView IsSynchronizedWithCurrentItem="False" x:Name="ResultsGrid" Background="#FF383838" Foreground="#FFFFFFFF" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Standard" Width="Auto" Height="Auto">
                            			<ListView.View>
                            				<GridView>
                            					<GridViewColumn/>
                            				</GridView>
                            			</ListView.View>
                            		</ListView>
                        

                        Here's the styling

                        <Style x:Key="ListViewItemFocusVisual">
                        <Setter Property="Control.Template">
                        <Setter.Value>
                        <ControlTemplate>
                        <Rectangle Stroke="#8E6EA6F5" StrokeThickness="1" RadiusX="2" RadiusY="2"/>
                        </ControlTemplate>
                        </Setter.Value>
                        </Setter>
                        </Style>
                        <LinearGradientBrush x:Key="ListItemHoverFill" EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFF1FBFF" Offset="0"/>
                        <GradientStop Color="#FFD5F1FE" Offset="1"/>
                        </LinearGradientBrush>
                        <LinearGradientBrush x:Key="ListItemSelectedFill" EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFD9F4FF" Offset="0"/>
                        <GradientStop Color="#FF9BDDFB" Offset="1"/>
                        </LinearGradientBrush>
                        <LinearGradientBrush x:Key="ListItemSelectedInactiveFill" EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFEEEDED" Offset="0"/>
                        <GradientStop Color="#FFDDDDDD" Offset="1"/>
                        </LinearGradientBrush>
                        <LinearGradientBrush x:Key="ListItemSelectedHoverFill" EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFEAF9FF" Offset="0"/>
                        <GradientStop Color="#FFC9EDFD" Offset="1"/>
                        </LinearGradientBrush>
                        <Style TargetType="{x:Type ListViewItem}">
                        <Setter Property="FocusVisualStyle" Value="{StaticResource ListViewItemFocusVisual}"/>
                        <Setter Property="Background" Value="Transparent"/>
                        <Setter Property="BorderBrush" Value="Transparent"/>
                        <Setter Property="BorderThickness" Value="1"/>
                        <Setter Property="Margin" Value="0,0,0,1"/>
                        <Setter Property="Padding" Value="5,2,5,2"/>
                        <Setter Property="VerticalContentAlignment" Value="Center"/>
                        <Setter Property="Template">
                        <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ListViewItem}">
                        <Border SnapsToDevicePixels="true" Background="{TemplateB

                        1 Reply Last reply
                        0
                        • P Pierre Leclercq

                          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 Offline
                          T Offline
                          thrakazog
                          wrote on last edited by
                          #50

                          Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong.

                          Pierre Leclercq wrote:

                          thrakazog wrote: There just isn't much documentation availible that is XAML free. It is just false. For example see:

                          You see there how I used the word MUCH. That indicates that there is SOME documentation. I actaully have the book you mentioned.

                          Pierre Leclercq wrote:

                          So you should do a little research and come back when you know a bit about what you are talking about...

                          Yar, and you might consider reading ALL the words in peoples posts. Maybe even try to string the sentances together and understand them before responding with your MUST WIN style answers. Cheers. :)

                          P 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.

                            C Offline
                            C Offline
                            chester123456
                            wrote on last edited by
                            #51

                            Pierre Leclercq wrote:

                            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

                            that's true. in fact, you can also use assembler to emit in-memory il that the framework will interperate as though it were xaml. and you can use a strap on on your girlfriend in much the same way she uses it on you. good for the goose, good for the gander. other things that you can do but shouldn't include: surrendering to the germans, voting for democrats and attempting civil discourse on teh interwebs.

                            P 1 Reply Last reply
                            0
                            • T thrakazog

                              Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong.

                              Pierre Leclercq wrote:

                              thrakazog wrote: There just isn't much documentation availible that is XAML free. It is just false. For example see:

                              You see there how I used the word MUCH. That indicates that there is SOME documentation. I actaully have the book you mentioned.

                              Pierre Leclercq wrote:

                              So you should do a little research and come back when you know a bit about what you are talking about...

                              Yar, and you might consider reading ALL the words in peoples posts. Maybe even try to string the sentances together and understand them before responding with your MUST WIN style answers. Cheers. :)

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

                              thrakazog wrote:

                              Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong.

                              Thank you!! So one more thread to prove Godwin's right, see: http://en.wikipedia.org/wiki/Godwin%27s_law[^] (So now on, you'll call me Sir... :)

                              T 1 Reply Last reply
                              0
                              • N NormDroid

                                Well can't wait for your book, 'Learn WPF in 14 days' ;P

                                Software Kinetics - Moving software

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

                                Why waste 14 days, it only takes 24 hours according to this[^] :laugh:

                                1 Reply Last reply
                                0
                                • P Pierre Leclercq

                                  thrakazog wrote:

                                  Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong.

                                  Thank you!! So one more thread to prove Godwin's right, see: http://en.wikipedia.org/wiki/Godwin%27s_law[^] (So now on, you'll call me Sir... :)

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

                                  Pierre Leclercq wrote:

                                  thrakazog wrote: Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong. Thank you!! So one more thread to prove Godwin's right, see:

                                  Huh, I never brought up the nazis. I wasn't even hinting at anything in that direction. I was proclaiming you a captain much in the same way Captain Crunch is. I really didn't see this thread going the Godwins law way. But since you brought it up i'll play along and still try to tie it in with our main topic. I said there wasn't MUCH documentation for WPF without XAML. I mean this in the same way that France hasn't surrendered to the Germans MUCH. Now you're free to argue that WPF can be done without XAML, as I said in my original posting... And that France does occasionally surrender to the Germans. Or, maybe we should both just stop waisting our time.

                                  C P 2 Replies Last reply
                                  0
                                  • T thrakazog

                                    Pierre Leclercq wrote:

                                    thrakazog wrote: Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong. Thank you!! So one more thread to prove Godwin's right, see:

                                    Huh, I never brought up the nazis. I wasn't even hinting at anything in that direction. I was proclaiming you a captain much in the same way Captain Crunch is. I really didn't see this thread going the Godwins law way. But since you brought it up i'll play along and still try to tie it in with our main topic. I said there wasn't MUCH documentation for WPF without XAML. I mean this in the same way that France hasn't surrendered to the Germans MUCH. Now you're free to argue that WPF can be done without XAML, as I said in my original posting... And that France does occasionally surrender to the Germans. Or, maybe we should both just stop waisting our time.

                                    C Offline
                                    C Offline
                                    chester123456
                                    wrote on last edited by
                                    #55

                                    Captain crunch was a captain? What does that make his berries in that case, metaphorically speaking? I think they would be sweaty balls of those he gave the option to: walk the plank for feed hungry children one crunch berry at a time. but I digress. You know who else really liked XAML? Adolph Hitler. When the furer wasn't burning jews, painting disney frames or whackin' it with a thumb in Ava's ass, he was programming wpf through xml. And you know what else? he was doing all his code behind with iron phyton. let's just say I'm glad they finally caught him in argentina and made him do guest shots on magnum pi. a fate worst than actually coding xaml. nazis.

                                    P 1 Reply Last reply
                                    0
                                    • T thrakazog

                                      Pierre Leclercq wrote:

                                      thrakazog wrote: Thank you Captain: I Must Win Every Conversation and Prove Others Opinions Wrong. Thank you!! So one more thread to prove Godwin's right, see:

                                      Huh, I never brought up the nazis. I wasn't even hinting at anything in that direction. I was proclaiming you a captain much in the same way Captain Crunch is. I really didn't see this thread going the Godwins law way. But since you brought it up i'll play along and still try to tie it in with our main topic. I said there wasn't MUCH documentation for WPF without XAML. I mean this in the same way that France hasn't surrendered to the Germans MUCH. Now you're free to argue that WPF can be done without XAML, as I said in my original posting... And that France does occasionally surrender to the Germans. Or, maybe we should both just stop waisting our time.

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

                                      thrakazog wrote:

                                      Huh, I never brought up the nazis

                                      For godwin, the nazis is a metaphor. I thought you had guessed it. ... And don't forget to call me Sir ... (See if you'll take this one literally too...)

                                      thrakazog wrote:

                                      waisting our time

                                      hmm, hmm... So I'll use my best guess and try not to waste time. But my first reaction was not to reply to your post, and I thought you were the kind of guy to want to have the last word. So I gave you the opportunity to do it, and that's what you did... (ROTFL)

                                      thrakazog wrote:

                                      And that France does

                                      So much for the relevancy of your posts (WPF, France, Germany), ...

                                      C 1 Reply Last reply
                                      0
                                      • C chester123456

                                        Captain crunch was a captain? What does that make his berries in that case, metaphorically speaking? I think they would be sweaty balls of those he gave the option to: walk the plank for feed hungry children one crunch berry at a time. but I digress. You know who else really liked XAML? Adolph Hitler. When the furer wasn't burning jews, painting disney frames or whackin' it with a thumb in Ava's ass, he was programming wpf through xml. And you know what else? he was doing all his code behind with iron phyton. let's just say I'm glad they finally caught him in argentina and made him do guest shots on magnum pi. a fate worst than actually coding xaml. nazis.

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

                                        chester123456 wrote:

                                        Captain crunch was a captain? What does that make his berries in that case, metaphorically speaking? I think they would be sweaty balls of those he gave the option to: walk the plank for feed hungry children one crunch berry at a time. but I digress. You know who else really liked XAML? Adolph Hitler. When the furer wasn't burning jews, painting disney frames or whackin' it with a thumb in Ava's ass, he was programming wpf through xml. And you know what else? he was doing all his code behind with iron phyton. let's just say I'm glad they finally caught him in argentina and made him do guest shots on magnum pi. a fate worst than actually coding xaml.

                                        :zzz: :zzz: :zzz:

                                        chester123456 wrote:

                                        nazis.

                                        one godwin point...

                                        1 Reply Last reply
                                        0
                                        • C chester123456

                                          Pierre Leclercq wrote:

                                          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

                                          that's true. in fact, you can also use assembler to emit in-memory il that the framework will interperate as though it were xaml. and you can use a strap on on your girlfriend in much the same way she uses it on you. good for the goose, good for the gander. other things that you can do but shouldn't include: surrendering to the germans, voting for democrats and attempting civil discourse on teh interwebs.

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

                                          chester123456 wrote:

                                          Pierre Leclercq wrote: 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 that's true. in fact, you can also use assembler to emit in-memory il that the framework will interperate as though it were xaml. and you can use a strap on on your girlfriend in much the same way she uses it on you. good for the goose, good for the gander. other things that you can do but shouldn't include: surrendering to the germans, voting for democrats and attempting civil discourse on teh interwebs.

                                          I will assume you are trying to be funny. X|

                                          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