Browse Source

Hack to fix Begin/EndInit bug caused by DelayedValuesHelper

pull/1084/head
Nikita Tsukanov 9 years ago
parent
commit
d135663062
  1. 2
      src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs
  2. 10
      src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs

2
src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderPortableXaml.cs

@ -189,7 +189,7 @@ namespace Avalonia.Markup.Xaml
context);
XamlServices.Transform(reader, writer);
writer.ApplyAllDelayedProperties();
return writer.Result;
}

10
src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs

@ -54,6 +54,12 @@ namespace Avalonia.Markup.Xaml.PortableXaml
base.Dispose(disposing);
}
public void ApplyAllDelayedProperties()
{
//HACK: We need this because Begin/EndInit ordering is broken
_delayedValuesHelper.ApplyAll();
}
protected internal override void OnAfterBeginInit(object value)
{
//not called for avalonia objects
@ -137,7 +143,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
if (_cnt == 0)
{
EndInit();
ApplyAll();
}
}
@ -174,7 +180,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
}
}
private void EndInit()
public void ApplyAll()
{
//TODO: revisit this
//apply delayed values and clear

Loading…
Cancel
Save