|
@@ -15,6 +15,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions
|
|
|
private readonly XamlIlTransformerConfiguration _configuration;
|
|
private readonly XamlIlTransformerConfiguration _configuration;
|
|
|
private readonly IXamlIlType _contextType;
|
|
private readonly IXamlIlType _contextType;
|
|
|
private readonly AvaloniaXamlIlDesignPropertiesTransformer _designTransformer;
|
|
private readonly AvaloniaXamlIlDesignPropertiesTransformer _designTransformer;
|
|
|
|
|
+ private readonly AvaloniaBindingExtensionTransformer _bindingTransformer;
|
|
|
|
|
|
|
|
private AvaloniaXamlIlCompiler(AvaloniaXamlIlCompilerConfiguration configuration) : base(configuration, true)
|
|
private AvaloniaXamlIlCompiler(AvaloniaXamlIlCompilerConfiguration configuration) : base(configuration, true)
|
|
|
{
|
|
{
|
|
@@ -32,7 +33,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions
|
|
|
Transformers.Insert(0, new XNameTransformer());
|
|
Transformers.Insert(0, new XNameTransformer());
|
|
|
Transformers.Insert(1, new IgnoredDirectivesTransformer());
|
|
Transformers.Insert(1, new IgnoredDirectivesTransformer());
|
|
|
Transformers.Insert(2, _designTransformer = new AvaloniaXamlIlDesignPropertiesTransformer());
|
|
Transformers.Insert(2, _designTransformer = new AvaloniaXamlIlDesignPropertiesTransformer());
|
|
|
- Transformers.Insert(3, new AvaloniaBindingExtensionHackTransformer());
|
|
|
|
|
|
|
+ Transformers.Insert(3, _bindingTransformer = new AvaloniaBindingExtensionTransformer());
|
|
|
|
|
|
|
|
|
|
|
|
|
// Targeted
|
|
// Targeted
|
|
@@ -89,6 +90,12 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions
|
|
|
set => _designTransformer.IsDesignMode = value;
|
|
set => _designTransformer.IsDesignMode = value;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public bool DefaultCompileBindings
|
|
|
|
|
+ {
|
|
|
|
|
+ get => _bindingTransformer.CompileBindingsByDefault;
|
|
|
|
|
+ set => _bindingTransformer.CompileBindingsByDefault = value;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public void ParseAndCompile(string xaml, string baseUri, IFileSource fileSource, IXamlIlTypeBuilder tb, IXamlIlType overrideRootType)
|
|
public void ParseAndCompile(string xaml, string baseUri, IFileSource fileSource, IXamlIlTypeBuilder tb, IXamlIlType overrideRootType)
|
|
|
{
|
|
{
|
|
|
var parsed = XDocumentXamlIlParser.Parse(xaml, new Dictionary<string, string>
|
|
var parsed = XDocumentXamlIlParser.Parse(xaml, new Dictionary<string, string>
|