+1 what he said.

(still rocking back and forth holding knees)

On Mon, Dec 5, 2011 at 2:56 PM, <[email protected]> wrote:

> Hi All,****
>
> ** **
>
> I’m coming back after 3 weeks off with a new baby injury, and have read
> this whole thread with the usual dread.  I’ve been doing nothing but WPF
> XAML development now for 2.5 years and consider myself a proficient Devign
> Zombie as SB puts it (I thought I was the only one!).****
>
> ** **
>
> I’ll try to cover multiple emails in this post.****
>
> ** **
>
> **·         **Don’t even consider using the VS designer.  When Blend came
> out I took the time to learn how it works (by numbing my developer brain
> with alcohol and letting my design instincts take over).  Once you learn
> how to drive the Blend interface it’s actually a very sweet tool.  Yes it’s
> buggy as hell, which is why I only use it for standalone test
> /prototyping.  Don’t bother pointing it at a real project because it’s
> almost guaranteed not to work.  Just start a new project, use it to work
> out your immediate UI design problem, and then copy the XAML to your real
> project.
> Even being proficient in Blend (+ Sketchflow), I find I spend about 50% of
> my time using the XAML editor (or VS pointed at the same test project) to
> do my coding.  It does a fantastic job of turning drag and drop into XAML,
> but I still take the time to clean it up by hand.
> It’s an awesome tool for learning about XAML control properties and styles
> too, and I did learn a lot back about each control from it back in the
> day.  I use it every whenever I’m designing a new window/control and it is
> why I remain productive.  I recommend taking the time to learn using it.
> [Aside: the upcoming VS designer apparently uses the same code base as
> Blend (finally) so my opinion of the VS designer may change]** **
>
> **·         **Learning XAML is bloody painful.  I think this is the
> reason why people who have learned the skills have burned it from their
> memory and don’t take the time to help out.  It’s painful to dredge up the
> memories of “how I solved this problem with that control in this situation”
> so I guess we tend to hold our knees to our chest and rock gently when
> we’re reminded of what we actually went through.
> Every control has quirks, and most of them have many.  Learning XAML is
> all about developing your own approach to solving t he problems you come
> across while doing real work.  There are so many ways to solve each
> problem, but after a while you learn what works for you and develop
> technique.  But it takes many, many, -many- hours of work to get there.
> And there are so many problems that are similar that require different
> techniques to solve, but eventually you learn how to spot the most likely
> ways to resolve problems.****
>
> **·         **Learn about the Panels first.  This is the way you carve up
> the surface to get your high level layout right.  Sketch the layout on
> paper, and then use your designer to roughly position everything.  Blend is
> awesome here because the design surface is actually running and (almost)
> always shows you exactly what things look like when you run them.****
>
> **·         **When you’re running, use Snoop to tweak properties to get
> your layout right.  At the same time, load the XAML file in a different
> editor (notepad, another VS instance) so you can add the mods you’re making
> with Snoop into your code.  That way you run you reduce your run / stop /
> change code / run cycle a lot less.****
>
> **·         **The biggest AHA moment I had with XAML was realising that
> when you add properties to converters you can do amazing things.  I use
> converters a hell of a lot to complement the data binding process, and they
> are an extremely powerful tool.****
>
> **·         **Behaviours are another really important way to create nice
> code.  Attaching behaviours to elements is a very powerful concept, and you
> should learn to use it effectively (eventually).  I don’t wield them
> anywhere near as converters, but they are very important to have in your
> arsenal.****
>
> **·         **I don’t use any aspect oriented programming to handle
> raising property changes.  I agree it’s a little old school needing to
> raise property changes, but I want to control when this happens myself, and
> make some effort to ensure I don’t raise property changes willy nilly.
> I -do- use VS snippets a hell of a lot to be productive at creating code.
> I also use AutoHotkey to dump out XAML quickly.  Don’t use resharper
> (*spit*); VS is bloated enough without adding a tool that replicates 80% of
> what it does in a different way.  And I don’t use VS addins that help write
> XAML.  Between snippets, AutoHotkey, and the awesome editing power of VS
> code editor (and sometimes a bit of Excel to generate large, repetitive
> chunks of XAML), you can spit out the code you need real quick (even though
> sometimes there is a lot)****
>
> **·   &nbs p;     **Learn to use #region to organise your view models
> into appropriate pieces of code.  Collapsible code regions are an
> underrated way of removing clutter while you are writing code.****
>
> **·         **The main project I’m on is a very large business
> application and thanks to WPF we can make some really slick stuff
> relatively simply.  Most of the benefits come now that we have our
> established framework (View generation, messaging system, etc) in place and
> we can focus on just producing stuff.  The project is about 5/6 years old
> now and we’re using a customised version of CAB and it does the job.  I’d
> love to try some recent frameworks (Windsor/Caliburn/Prism/MEF) but at the
> moment I’m only able to work during business hours.  My point is, once you
> have the big pieces in place you won’t have to worry as much about them,
> leaving your problem solving capacity to dealing purely with XAML quirks
> and layout.****
>
> **·         **Don’t think about designing uber-coo l looking new UI that
> will have everyone gagging with envy.  It was only after years of working
> at it that I’m now finally able to use what I’m learning to dream about UI
> like this and implement it.  Do the hard yards and learn how to think XAML
> first, then you will have the capacity and ability to build whatever you
> can design.****
>
> **·         **The best way to be productive with XAML is to slow down.
> Plan your changes; draw sketches, prototype, make comps using Photoshop, do
> -everything- you can to ensure what you want to build will work before y ou
> start coding.  Keep these plans available for when you want to change
> existing UI so you can ensure the changes will work.  Once you start coding
> you’ll be spending most of your time solving quirky problems and won’t have
> the capacity to update the design due to issues that arise; do what you can
> to ensure you know exactly what the UI will look like before you code****
>
> ** **
>
> I wish there was an easy path to learning XAML but I don’t think there
> is.  However the very from up here is awesome; I wish everyone could enjoy
> this as much as I do!****
>
> ** **
>
> **Carl.****
>
> ** **
>
> Carl Scarlett****
>
> Senior .NET/WPF Developer, UX Designer | Genesis****
>
> *IT & Change Management |** **Bankwest*****
>
> A: Level 5, 199 Hay Street | Perth | Western Australia | 6004****
>
> P: (08) 9449 8451****
>
> M: 0408 913 870****
>
> E: [email protected]****
>
> ** **
>
> [image: Description: test]****
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> *From:* [email protected] [mailto:[email protected]]
> *On Behalf Of *Kirsten Greed <[email protected]>
> *Sent:* Wednesday, 23 November 2011 7:46 AM
>
> *To:* <[email protected]>
> *Subject:* Getting up to speed in wpf****
>
> ** **
>
> Hi All****
>
> I am new to WPF and missing the winforms way of doing things .****
>
> I am wondering about the best way to get up to speed****
>
> Do people usually set the data source and drag drop controls onto the
> designer – or use write XAML – or us e Expression Blend  - or something
> else?****
>
> Pros and Cons?****
>
> Thanks****
>
> Kirsten****
>
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________****
>
> _______________________________________________
> ozwpf mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf
>
> ________________________________________
> _______________________________________
>
> This email has been scanned by the Bankwest Email Security System.
> _______________________________________________________________________________
> ****
>
>
>
> _______________________________________________________________________________
> Unencrypted electronic mail is not secure and may not be authentic.
> If you have any doubts as to the contents please telephone to confirm.
>
> This electronic transmission including any attachments is intended only
> for those to whom it is addressed. It may contain copyright material or
> information that is confidential, privileged or exempt from disclosure by
> law.
> Any claim to privilege is not waived or lost by reason of mistaken
> transmission
> of this information. If you are not the intended recipient you must not
> distribute or copy this transmission and should please notify the sender.
> Your costs for doing this will be reimbursed by the sender.
>
> We do not accept liability in connection with computer virus, data
> corruption,
> delay, interruption, unauthorised access or unauthorised amendment.
>
> _______________________________________________________________________________
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________
>
> _______________________________________________
> ozwpf mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf
>
>

<<image001.png>>

_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf

Reply via email to