4 ms·
WPF and Metro are of course both XAML so the same push from the WPF days applies. I've build apps in Silverlight and WPF that scaled just fine. You just need to
by Moto7451 14y ago
WPF and Metro are of course both XAML so the same push from the WPF days applies. I've build apps in Silverlight and WPF that scaled just fine. You just need to make sure you start with proportional design and stay that way, using some key min and max height/width properties where necessary. Most desktop app devs are used to fixed sized gui widgets which is where the problems start.
Once you get into a proportional mindset, the hardest problems tend to be related to text and images. One trick I learned for the latter was using vector art as much as possible and converting SVG images to XAML (care of XamlExport[1]). Then scaling no longer becomes an issue. For raster art, I would hope Metro has something similar to iOS's retina graphic substitution magic. Silverlight 4 didn't which was a bit of a drag.
Text was always a little trickier but when dealing with full screen apps I would usually just have some code that changed the text size based on the delta between the new and old window size.
[1] http://www.mikeswanson.com/xamlexport/ http://www.mikeswanson.com/xamlexport/
- seanmcdirmid 14y agoVector art doesn't scale very well. Most icons are designed in Illustrator (as vector art) and then touched up in Photoshop for each scaling used (as pixel art), mainly because the real time rendering of vector art just isn't at professional quality yet. So the only solution, which has been adopted by iOS and Metro (and probably Android) is to include multiple icons for each DPI class.
- Moto7451 14y agoIn my experience with converting to XAML you don't experience the same degradation since your art is being actively redrawn. You can add gradient brushes and other embellishments that scale well. Perhaps I will dust off my windows laptop and do a blog post about it. That said, you mentioned that Metro will do image substitution a la iOS. Thats fantastic and something I sorely missed during my Silverlight dev days.