XAML is much better at solving the UI issue on the desktop. Notably, it allows you to use binding logic to ensure your data model for your application doesn't carry all the weight of the UI logic (such as coloring, resizing, en/dis-abling controls, and etc). So, your XAML contains all the logic that deals with UI and your data model (view-model) contains all the values to be displayed (and possibly some of the business logic tied to those values).