Like a ton of other developers out there I went out this week and
downloaded all the new .Net 3.0 stuff so i could play around and
educate my self. Well, educate myself I did.
Now, let me just
say that I have been a dedicated WinForms developer for the past 3-4
years so I would consider myself pretty much an expert in all things
WinForms. So when I fired up my newly updated IDE and created a new
project to play with WPF I got pretty disappointed pretty quick.
The
first thing I did with my newly created project was put a button on the
form and attempt (keyword here) to attach the button click event to the
button (message box an hello world message). W.T.F. in ALL prior
versions of .net, you drop a button on the form, double click on the
button and poof, you now have a newly created button click event. NOT
with WPF, no, you have to figure out HOW to add the button click
event. Ok, so being the googler I am, I
set out on a quick search to find an example on how to wire up a button
click event. The first example I found that actually talked about this
had me add a few lines of code to the XAML.... Again, W.T.F. adding
code to the XAML is no way to write code, there has to be a way to
create the method in the Code Behind form. Sure enough, after more
searching I confirmed that you indeed can add code to the code behind.
The problem is that my IDE kept trying to tell me that the method was
invalid, but when I would compile the project it worked just fine.
My
next beef is the XAML. What purpose does this serve in the grand
scheme of things? What was wrong with the 'old' style of layout and
component initialization? The only solid reason I can see for XAML is
so that some day in the far, far distant future, M.S. makes it so that
a WinForm app can run like a browser app and vis versa...
Is this the intent??? Please help me understand. And if this is the
intent, why???? Most business apps I have worked on have never needed
to be 'multi-plateform' applications.
My last beef is with the
number of out of the box UI controls. Either my tool box is missing UI
controls or M.S. decided that there werecertain controls not worth
their time developing (if memory serves correctly, they did this same
thing with .net 1.0). Where is my calendar control, my list view
control, my link label, my up/down control?
My conclusion is
this, unless I get a pretty compelling reason to continue to play with
WPF over the next 6-12 months, I for one am not going to look at this
again.....
If I am missing the big picture about WPF, please explain.
BTW, the skinning feature of XAML and WPF is cool, but I don't have much need for that stuff in the type of development I do on a day to day basis.