|
|
@@ -12,21 +12,17 @@ namespace Avalonia.DesignerSupport
|
|
|
{
|
|
|
public class DesignWindowLoader
|
|
|
{
|
|
|
- public interface IDesignXamlLoader
|
|
|
- {
|
|
|
- object Load(MemoryStream stream, Assembly localAsm, object o, Uri baseUri);
|
|
|
- }
|
|
|
-
|
|
|
public static Window LoadDesignerWindow(string xaml, string assemblyPath, string xamlFileProjectPath)
|
|
|
{
|
|
|
Window window;
|
|
|
Control control;
|
|
|
using (PlatformManager.DesignerMode())
|
|
|
{
|
|
|
- var loader = AvaloniaLocator.Current.GetService<IDesignXamlLoader>();
|
|
|
+ var loader = AvaloniaLocator.Current.GetService<AvaloniaXamlLoader.IRuntimeXamlLoader>();
|
|
|
var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml));
|
|
|
|
|
|
-
|
|
|
+ if (loader == null)
|
|
|
+ throw new XamlLoadException("Runtime XAML loader is not registered");
|
|
|
|
|
|
Uri baseUri = null;
|
|
|
if (assemblyPath != null)
|
|
|
@@ -39,7 +35,7 @@ namespace Avalonia.DesignerSupport
|
|
|
}
|
|
|
|
|
|
var localAsm = assemblyPath != null ? Assembly.LoadFile(Path.GetFullPath(assemblyPath)) : null;
|
|
|
- var loaded = loader.Load(stream, localAsm, null, baseUri);
|
|
|
+ var loaded = loader.Load(stream, localAsm, null, baseUri, true);
|
|
|
var style = loaded as IStyle;
|
|
|
if (style != null)
|
|
|
{
|