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 > > 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 > >
_______________________________________________ ozwpf mailing list [email protected] http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf
