These are chat archives for AvaloniaUI/Avalonia
@grokys I'm going to take a stab at refactoring our Markup/Markup.Xaml projects. I'm not the biggest fan of the organization we have.
Here's my idea: The binding infrastructure (BindingExpression, ExpressionObserver, etc.) should be an Avalonia.Base.Data library since it's necessary for any code-based data binding and isn't really tied to markup. Additionally, with a small amount of refactoring the
ControlLocator class, none of it has any dependencies above Avalonia.Base. Then, I was thinking that Avalonia.Markup should have some of the classes that are commonly used in markup front-ends (like Binding, RelativeSource). Finally, Avalonia.Markup.Xaml should only have classes that support our XAML infrastructure and Portable.Xaml. This will give us more control in the future if we decide to add support for a non-XAML markup flavor (which I know you've thought about before for post-1.0) and in my opinion give us a better layered infrastructure.
I'll prototype it out. Let me know what you think of my idea and any suggestions you have.