I support you in Xaml-free WPF. I love layout and binding capabilities of WPF but I hate XAML too. I would love that WPF could be written in plain C#, some advantages:
- Object and Collection initializers could replace Xaml instantiations. (it’s a pity that xaml prefers top-down than button up).
- Binding converters could be just lambdas.
- Styles could be just lambdas that modify an object after instantiation, no bloated
<Setter>syntax. - DataTemplates would be just lambdas that create controls given an object
- DataTemplateSelectors would be just a DataTemplate lambda that calls other DataTemplates.
- ItemsControl Would be just a Foreach that takes a lambda (DataTemplate) and calls it again if a new item is added to the underlying collection.
- x:Names would be just variable names.
- No need for many MarkupExtensions
- x:Static
- x:Type (specially with complex generics too!)
- UserControls would be just functions.
I think way too much complexity was added to WPF to allow it to be designed. Web development has already lost this battle from the old days of FrontPage to Razor.