Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been wanting to understand more of proper XAML design since most of my current experience is in what I grew up in: Windows Forms. More specifically, though it is really a specific subset of Xaml, I am interested in Windows 8 Application development.

I do have read considerable parts of 70-502 exam book by Microsoft and of course I have visited the Microsoft site to learn how many pixels what where and how is supposed to go to meet Windows 8 design guidelines.

All these resources however focus on very small scale problems. How to make a button, how to connect it to a controller...

I am looking for resources that teach me how to translate a design into xaml. All the individual components I am aware of, though not indepth. DockPanels, StackPanels, buttons, boxes, borders and styles. But I don't have a resource that tells me how to combine them into a high quality design.

Does anyone have resources that teach weilding Xaml on an application scale?

share|improve this question

closed as off topic by Jim G., Walter, maple_shaft Oct 11 '12 at 13:40

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

This question shows a complete lack of research. Modern UI applications are still written in C# although XAML is still used ( WPF also uses it ). –  Ramhound Oct 11 '12 at 12:26
Start with learning the different Panel types. I typically recommend this article for that: WPF Layouts - A Visual Quick Start. From there, simply pick whatever panel best matches the layout you want to achieve. I'd also recommend reading through this, which is a SO question about the render time and performance of the different panel types. –  Rachel Oct 11 '12 at 15:10

3 Answers 3

First things first, according to you, Windows Forms is ancient. And so? Do you need the power of XAML in order to achieve something you cannot or can hardly do in Windows Forms? If not, then stick with the technology you know. Don't abandon something just because it was invented years ago. Windows Forms is still actively used and fits perfectly well many cases.

Now, where you can find the resources to learn XAML?

  • MSDN has enough documentation about XAML, including the best practices.
  • If you have a precise technical question, not answered by MSDN, Stack Overflow is here.
  • If you want to be sure that you follow best practices, CodeReview.SE is another valuable resource.
  • Finally, there are books and code written by experienced developers; don't forget those two types of resources.
share|improve this answer
Oh, you misunderstand me. I don't -need- to learn Windows 8 Application XAML. But I -want- to learn it. I am active on SO, yes. But maybe CodeReview could help with XAML review too? I'm not sure they're meant for that... –  Jaapjan Oct 11 '12 at 11:07
@Jaapjan as a regular Code Review user, I can assure you that XAML reviews are welcome. Just make sure you stick to the rules and you'll be fine. –  codesparkle Oct 12 '12 at 7:51
Thank you, codesparkle. I'll do that. –  Jaapjan Oct 15 '12 at 14:19

If you're going to do any XAML based development (WPF/Silverlight/Windows 8/Windows Phone), you need to use a design pattern such as MVVM. This will enforce separation of the visual and code layers, and allow use of the best features of the XAML platform - data binding and commands.

There are a number of MVVM frameworks - e.g.Prism, Caliburn Micro, MVVM-Light - it depends how much you want the framework to impose on the structure and look of your application. Personally, I find that MVVM-Light offers just enough without taking over the entire application.

share|improve this answer
I completely agree with you. But using MVVM or any MVC like pattern doesn't help me write quality XAML insteady of hacky, wrongly implemented layouts! –  Jaapjan Oct 11 '12 at 11:08
@Jaapjan - Neither does your vague question. –  Ramhound Oct 11 '12 at 12:28

There are a lot of guides out there on the web thus far on how to develop XAML applications for WinRT.

  1. Here is how to develop components for WinRT with XAML
  2. Here is how to develop Windows Store apps with XAML
  3. Here is documentation from Microsoft on developing for Windows 8 using all technologies they provide
  4. Here you can find UI patterns for XAML applications. Notice this is for classic desktop XAML applications. In windows 8 the UI is a bit more presentation like and a lot less data intensive. Windows 8 style UI implements a lot more large charts and boxes presenting data a lot more visually with charts and graphs rather than with numbers and data items displayed in grids. Just have that in mind.
share|improve this answer
I agree that MS does a good job showing design patterns and giving a list of controls that are available.. but they don't help me show how to tackle common solutions to UI problems and thus help me write quality XAML instead of hacky XAML where I am trying to find the right combination of panels or whatever might work. –  Jaapjan Oct 11 '12 at 11:10
@Jaapjan I updated with one more article you may want to take a look at. –  Konstantin Dinev Oct 11 '12 at 11:18
@Jaapjan - Its clear you have not tried to figure on your own so why do you expect us to do that for you? All your questions are already anwered through documentation and other developers. –  Ramhound Oct 11 '12 at 12:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.