Android may allow you to design your ui in xml, but go read a tutorial on custom styling WPF -- I were much doubt you can:
create a new list box which works exactly like a normal listbox would but the items in it are replaced by whatever you write between <datatemplate></datatemplate> tags, and all the bindings you make in the data template are automatically set so that they are bound to the object they represent (ie the dynamic properties in data template 3 are bound to object 3 in the source list). And the entire thing takes only about 30 lines of xml.
Bind any property on any object to any property on any other object
Have any properly which is bound to any other property be automatically updated when the value of that property changes
Attach new properties to any xml element, and execute code when that property changes (useful to change a bool in one class to cause a window to close in another)
You can create entire master detail system and bind them together without haveing to write a line of c# code to tell it how it should look or what it should do -- which means that (if you structure your code right) that you can create unit tests that check that when one button is clicked, an item is removed from a list, etc.
Again, MS have created something that is really, really far ahead of anything else here. Too bad it is windows only.
create a new list box which works exactly like a normal listbox would but the items in it are replaced by whatever you write between <datatemplate></datatemplate> tags, and all the bindings you make in the data template are automatically set so that they are bound to the object they represent (ie the dynamic properties in data template 3 are bound to object 3 in the source list). And the entire thing takes only about 30 lines of xml.
Bind any property on any object to any property on any other object
Have any properly which is bound to any other property be automatically updated when the value of that property changes
Attach new properties to any xml element, and execute code when that property changes (useful to change a bool in one class to cause a window to close in another)
You can create entire master detail system and bind them together without haveing to write a line of c# code to tell it how it should look or what it should do -- which means that (if you structure your code right) that you can create unit tests that check that when one button is clicked, an item is removed from a list, etc.
Again, MS have created something that is really, really far ahead of anything else here. Too bad it is windows only.