I've been building quite a bit of Silverlight 2 code and the one thing I'd pass on as a piece of advice is "Build Controls".
Even in situations where I've found myself thinking "Oh, this will just be a lump of XAML" I soon find that approach results in a spaghetti-mess of XAML quite quickly and the easiest way is to very quickly split things up in separate controls.
Ok, I know this isn't exactly radical advice :-) but it's something that I've noticed very quickly in building Silverlight code.