How do I stop myself from redesigning my Silverlight screens? Is there a theme that looks like Sketchflow? - silverlight

Whilst working in Silverlight I am always fighting the urge to work on the screen design rather than coding the behaviour (which is what I should be doing). My cunning plan is to find a theme that looks something like MS SketchFlow or Balsamiq which will remind me of the draft nature of the screens whilst being somewhat prettier than the default look & feel of Silverlight.
Does anyone know of such a theme? Alternatively can anyone give advise on how they overcame there design addiction :)
Thanks,
Dan

Hmm... Work in Visual Studio rather than Blend?
Alternatively, those Sketchflow controls are just that, normal controls that are styled. If you create one of the demo sketchflow projects in blend you can just grab the style file, I think it's "SketchStyles.xaml" and reuse that where you need it.
(I used the 'KioskSketch' sample app btw)

Related

Where to find a free style for my WPF applicaton?

I am not happy with the default style of my application and I'd like to add a style that makes it look more professional. I downloaded some themes but the ones I found kinda ruined my window interfaces.
Any idea where to find free recent WPF styles?
There does not exist anything like this, what you are describing. You can get Windows themes, which will impact your whole OS but also your application if you have been using system colors while developing.
There is no magic formula that would know how to style which button. This is something you have to implement on your own.
What you can do is to learn more about how to properly style an application using styles from from a external . In order to make your application more appealing you can download a color pallet and follow it. The designing you will, still, have to do on your own.
There are themes pre-made available on the internet. : http://brianlagunas.com/free-metro-light-and-dark-themes-for-wpf-and-silverlight-microsoft-controls/
You need to add them to you project.

WinForms override control box

Does anyone know what it would take to override the look and feel of a WinForms Control Box? I don't want to change the functionality of the buttons, I just want to change the color and the images. Something similar to what Instagrille has done with their Instagram app for Windows.
The control box is created by system. AFAIK, you cannot customize it. Although you can get rid of it and create your own. This will take some effort.
You will have to P/Invoke User32.dll and override WndProc to intercept windows messages.
Take a look are these articles to begin with. This and this one.
You may be better off porting your app to WPF. The level of control you're looking for comes "for free" in with the framework and is more future proof on the Windows platform. This answer is a good place to start, there are more good links here.
If that's not an option, I think danish has you off to a start. I would be wary of attempting to extend WinForms too far beyond what it's meant to do, in my experience it can make for a headache in the future. Good luck.

WPF interface like MetroTwit

I've seen the beautiful MetroTwit interface http://www.metrotwit.com/ ; I would like to know which WPF components have been used for trying to reproduce it.
MetroTwit designer here :)
All of the controls and animations were designed from scratch.
Obviously I drew a lot of inspiration from Zune, Windows Phone 7 but everything was re-templated from the default base styles. Most of the icons were made in Photoshop then converted into Expression Design to be output in XAML.
Since much of our design was with a Twitter client in mind, it's not universal for all applications. What you should really do is read up on the User Experience Design Guidelines for Windows Phone for a much broader understanding of Metro.
After you have a solid grasp of what you believe Metro to be, it's much easier to style the controls to the way that suits your application.
Look at http://metrotheme.codeplex.com/ and http://www.silverlight.net/content/samples/sl4/themes/cosmopolitan.html those are silverlight but you can use it in WPF with some changes

Online resources for premade WPF styles/control templates?

When it comes to UI design I generally don't care to do custom styling (appearance-wise), I'm not much of an artist and I hate trying to come up with interesting color schemes and the like. Are there any online repositories of premade WPF styles and/or control templates? I could have sworn I saw one before but I can't find it now, it might be gone.
Just curious if you guys know of anything like this. It'd be great to be able to drop in a premade style into my application to spruce it up a bit.
Here's another.
Here's one.

Is knowing blend required?

Do you expect your WPF developers to know expression blend?
Any good resources for learning more about Blend?
[UPDATE] Does knowing blend make you more productive?
I found Blend a great way to ease into XAML. Many of the common things you want to do are easy in Blend, especially databinding. Databinding has no intellisense and I found doing things in Blend a great way of discovering how do write the databinding syntax.
I now find myself mostly editing raw XAML buy hand.
The areas where blend is really handy:
Customizing templates.
Animation
Breaking the UI down into user controls
As a WPF developer I surely see the benifit of knowing Expression Blend for many of my previous projects. This help me to jump start on creating Usercontrols and Custom controls very effectively. And if we do in the conventional way of writing XAML from the scratch, it is gonna take a very long time of your development.
And also for creating DataTemplate,ControlTemplate,Styles and ItemsPanelTemplate - it is just a click away in Expression blend.
So I highly recommend Expression blend for a WPF programmer
I typically work in both blend and Visual Studio (2005) side by side when doing WPF development. (Although, granted, I typically do both design and c# coding).
The benefits of using Blend is that certain tasks are extremely fast there - things like picking colors/brushes, creating animations and layout fixes such as tweaking margins/paddings.
Another usage is to instantly see how your hand written XAML will look like without actually starting the app.
Blend has a bad habit of producing some weird XAML so I always have to clean it up in the VS text editor afterwards. I still find it to be a net win to use blend though.
So, to answer your question: Is Blend required? no, not really. But it will make your life easier for certain tasks and thus make you more productive.
Things like animation and gradient color definitions can really only be done effectively in Blend. Blend is also often extremely useful for generating some non-trivial custom visual elements, just so that you can view the generated Xaml and import a CLEANER version into your production code. Unfortunately, the point-and-click nature of Blend disguises the fact that huge volumes of very messy Xaml is being generated under the hood, and you'll want to REFACTOR that Xaml before using it in your production source. Fortunately, learning Blend is not that hard. The best tutorial I ever found was called the "Fabrikam" tutorial. There may be updated versions available, but one version of that tutorial is still available at the link below.
http://blogs.msdn.com/expression/articles/516589.aspx
Realistically, very few dev. shops have access to qualified "interactive designers" (its not somethiing a company can just re-task one of its junior Mar-Com people to perform), which means, at most places, developers will need to learn some amount of Blend if marketing wants to add the kind of fancy visuals that provide alot of the justification for using WPF in the first place.
As a developer, after working intensively with WPF for several months, you will find yourself becoming totally comfortable editing Xaml directly and, unlike with Windows Forms, you'll rarely rely on features in the VStudio designer. Not only is direct editing MUCH faster than scrolling through property lists, but VStudio does not have point-and-click support for many of the features you will use in production WPF applications (they just got around to adding an "event" tab in SP#1). Blend has more support for many of these items (it can generate a DataTemplate, for instance), but I usually only jump into Blend to create a quick animation or other visual effect, cut and paste a carefully-refactored version of the markup into my "official" VStudio project source, and move on.
I think at least the designers should start using the Expression Suite.
The developers should be somewhat familiar with the tools but just enough to enable them to communicate better with the designers.
Since there are not so many good WPF tools, knowing Blend is a pretty useful skill. However I wouldn't consider it as requirement. The whole idea of WPF is to distribute work between coders and designers. IMO developer is not required to know Blend throughout, but basic skills are required to understand designer's needs.
Video training for expression blend:
Total Training Expression Blend
http://expression.microsoft.com/en-us/cc136536.aspx
http://windowsclient.net/learn/videos_wpf.aspx
I (as a developer, not designer, soo not designer) tried to start learning WPF through Blend. While I could get stuff working, looking back at what I produced makes me shiver.
Now that I know my way around WPF pretty good, I still use Blend and Design every now and then, but my work is based in XAML (not designer view in VS, mind you, but XAML). In other words,
I know how to clean it up now.
I'm still wondering how I can get my Adobe-Flash, -Photoshop, -Illustrator design guru to work with me in WPF.
It fully depends on what you want to do. To answer your second question, would you really want to try editing an animation storyboard outside of Blend? If you're working with the actual Visuals of the application, Blend is best suited for this. If you want to hack around with databinding, validation and other things where you must swap back and forth with code. Obviously its more sense to work on the XAML in Visual Studio.
Lynda.com has some cool expression blend training available online...
Getting Started with Expression Blend by Lee Brimelow
Developers don't need to know Expression at all.
What you do need to know is XAML and not hide behind some tool, which would be the worst thing you could do as a WPF developer. Your tool of choice is yours to decide on. I used to use the XML editor in Visual Studio.
The only persons who need to know Blend are the ones in charge of the visual aspect of your WPF application. They have to be able to understand how to skin your application with templates, but other than that, they can keep to Blend exclusively.
In general, I think it's more important to for developers to understand XAML, as Blend is just a view on top of it. XAMLPad may be more useful for learning XAML in the first instance.
More specifically to this question though, I think if developers are working alongside designers using Blend, it could be very useful to know at least the basics. As well as allowing better communication (as mentioned by #kokos), it will let the developer perform minor edits (such as alignment etc.) in the same environment, and also understand the limitations and boundaries of the tool with respect to the code generation.
Historically, designer tools have had a few quirks that developers have had to work around, such as re-coding HTML in FrontPage, or generating font tags instead of using styles or classes. I'm sure Blend wouldn't do such things, but it might generate XAML that the developer would prefer to restructure or slim down, so knowing which features generate which styles of code could be very hand for the developer.
Would you require your HTML developers to use DreamWeaver?
All good WPF coders should know XAML by hand and only use tools like Blend for quick mockups, for doing animations or tweening, or for doing complicated gradients, etc.
Coding XAML by hand is a requirement for good WPF developers - Blend is a tool, not a substitute for knowing XAML.
Brennon Williams new book should also be good!!!
(source: pearsoned-ema.com)

Resources