Browse Source

Added XamlFileProjectPath to UpdateXamlMessage

pull/2104/head
Nikita Tsukanov 8 years ago
parent
commit
0948f56587
  1. 6
      src/Avalonia.DesignerSupport/DesignWindowLoader.cs
  2. 2
      src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs
  3. 3
      src/Avalonia.Remote.Protocol/DesignMessages.cs

6
src/Avalonia.DesignerSupport/DesignWindowLoader.cs

@ -12,7 +12,7 @@ namespace Avalonia.DesignerSupport
{
public class DesignWindowLoader
{
public static Window LoadDesignerWindow(string xaml, string assemblyPath)
public static Window LoadDesignerWindow(string xaml, string assemblyPath, string xamlFileProjectPath)
{
Window window;
Control control;
@ -26,9 +26,11 @@ namespace Avalonia.DesignerSupport
Uri baseUri = null;
if (assemblyPath != null)
{
if (xamlFileProjectPath == null)
xamlFileProjectPath = "/Designer/Fake.xaml";
//Fabricate fake Uri
baseUri =
new Uri($"res:asm:{Path.GetFileNameWithoutExtension(assemblyPath)}/Designer/Fake.xaml");
new Uri($"res:asm:{Path.GetFileNameWithoutExtension(assemblyPath)}{xamlFileProjectPath}");
}
var localAsm = assemblyPath != null ? Assembly.LoadFile(Path.GetFullPath(assemblyPath)) : null;

2
src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs

@ -199,7 +199,7 @@ namespace Avalonia.DesignerSupport.Remote
s_currentWindow = null;
try
{
s_currentWindow = DesignWindowLoader.LoadDesignerWindow(xaml.Xaml, xaml.AssemblyPath);
s_currentWindow = DesignWindowLoader.LoadDesignerWindow(xaml.Xaml, xaml.AssemblyPath, xaml.XamlFileProjectPath);
s_transport.Send(new UpdateXamlResultMessage(){Handle = s_currentWindow.PlatformImpl?.Handle?.Handle.ToString()});
}
catch (Exception e)

3
src/Avalonia.Remote.Protocol/DesignMessages.cs

@ -7,6 +7,7 @@ namespace Avalonia.Remote.Protocol.Designer
{
public string Xaml { get; set; }
public string AssemblyPath { get; set; }
public string XamlFileProjectPath { get; set; }
}
[AvaloniaRemoteMessageGuid("B7A70093-0C5D-47FD-9261-22086D43A2E2")]
@ -22,4 +23,4 @@ namespace Avalonia.Remote.Protocol.Designer
public string SessionId { get; set; }
}
}
}

Loading…
Cancel
Save