Do it, all the cool kids are doing it. We thought you were Cool carl... we thought....
--- Regards, Scott Barnes http://www.riagenic.com On Tue, Dec 6, 2011 at 10:29 AM, <[email protected]> wrote: > I know I know. One of these days I’ll set one up…maybe!**** > > ** ** > > *From:* [email protected] [mailto:[email protected]] > *On Behalf Of *Shane Morris (Automatic Studio) < > [email protected]> > *Sent:* Monday, 5 December 2011 5:25 PM > *To:* ozWPF <[email protected]> > *Subject:* Re: Getting up to speed in wpf**** > > ** ** > > Carl you definitely should blog this. **** > > ** ** > > Shane > > Shane Morris | Automatic Studio | [email protected] | +61 > 438 818 888**** > > > 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 Mo n, 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). O nce 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 takin g 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 yo ur 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 > somet imes 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 framewor k (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 ca pacity 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>**** > > **** > > **** > > & nbsp;**** > > **** > > *From:* [email protected] [mailto:[email protected]] > *On Behalf Of *Kirsten Greed <[email protected]> > *Sent:* Wednesday, 23 November 2011 7:46 AM**** > > > < b>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& nbsp; - 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 copyri ght 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**** > > > ______________________________________________________________________ > This email has been scanned by the Symantec Email Security.cloud service. > For mo re 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
