*laugh*.  Yes Scott, baby injury = new baby (11/11/11 as well).

 

From: [email protected] [mailto:[email protected]]
On Behalf Of Scott Barnes <[email protected]>
Sent: Monday, 5 December 2011 6:19 PM
To: ozWPF <[email protected]>
Subject: Re: Getting up to speed in wpf

 

Agreed.. my instinct was to put this up on riagenic.com with big neon
arrows pointing at it all... i think you nailed well.

 

Oh one other thing I forgot to mention in this space is that Blend can
sometimes tell you there is a bug in your project / error and in
actuality its not a bug but a bug in the design surface... so in a way,
you can never truly trust the tools to give you an accurate answer ...
(ie i remember for example taking a Tab class then inheriting it, doing
nothing else, running it...exception in Blend but works?...turns out the
zIndex property had some DP issues in Blend and it took sitting down
with Peter Blois (was the Program Mgr for Blend back then) to show me
where the issues were... now i had backstage pass back then, you guys
dont...so.... GOOOD LUCK! :)

 

Baby Injury... still giggling a that one... i'm assuming you mean as in
you just had a baby and its not actually injured.. if its the later...
awkward...as now i feel bad....
---
Regards,
Scott Barnes
http://www.riagenic.com



On Mon, Dec 5, 2011 at 7:25 PM, Shane Morris (Automatic Studio)
<[email protected]> wrote:

Carl you definitely should blog this.  

 

Shane

Shane Morris  |  Automatic Studio  |  [email protected]  |
+61 438 818 888 <tel:%2B61%20438%20818%20888> 


On 05/12/2011, at 7:03 PM, "Stephen Price" <[email protected]>
wrote:

        +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]

                 

                <image001.png>

                 

                 

                 

                 

                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

         

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


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

 


______________________________________________________________________
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

Reply via email to