Browse Source

Fixed issues from PR comments #1016

pull/1016/head
Nikita Tsukanov 9 years ago
parent
commit
76bc7aaafb
  1. 5
      samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs
  2. 15
      src/Avalonia.Diagnostics/DevTools.xaml.cs
  3. 2
      src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj
  4. 2
      src/Windows/Avalonia.Win32.Interop/Wpf/WpfInteropExtensions.cs

5
samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs

@ -28,10 +28,7 @@ namespace WindowsInteropTest
InitializeComponent(); InitializeComponent();
var view = new MainView(); var view = new MainView();
view.AttachedToVisualTree += delegate view.AttachDevToolsToTopLevelOnVisualTreeAttachment();
{
view.AttachDevTools();
};
Host.Content = view; Host.Content = view;
var btn = (Avalonia.Controls.Button) RightBtn.Content; var btn = (Avalonia.Controls.Button) RightBtn.Content;
btn.Click += delegate btn.Click += delegate

15
src/Avalonia.Diagnostics/DevTools.xaml.cs

@ -14,12 +14,21 @@ using Avalonia.VisualTree;
namespace Avalonia namespace Avalonia
{ {
public static class WindowExtensions public static class DevToolsExtensions
{ {
public static void AttachDevTools(this Control control) public static void AttachDevTools(this TopLevel control)
{ {
Avalonia.Diagnostics.DevTools.Attach((TopLevel)control.GetVisualRoot()); Avalonia.Diagnostics.DevTools.Attach(control);
} }
public static void AttachDevToolsToTopLevelOnVisualTreeAttachment(this Control control)
{
(control.GetVisualRoot() as TopLevel)?.AttachDevTools();
control.AttachedToVisualTree += delegate
{
(control.GetVisualRoot() as TopLevel)?.AttachDevTools();
};
}
} }
} }

2
src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj

@ -49,7 +49,7 @@
</Compile> </Compile>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Wpf\CursorShim.cs" /> <Compile Include="Wpf\CursorShim.cs" />
<Compile Include="Wpf\Helpers.cs" /> <Compile Include="Wpf\WpfInteropExtensions.cs" />
<Compile Include="Wpf\WpfAvaloniaHost.cs" /> <Compile Include="Wpf\WpfAvaloniaHost.cs" />
<Compile Include="Wpf\WpfMouseDevice.cs" /> <Compile Include="Wpf\WpfMouseDevice.cs" />
<Compile Include="Wpf\WpfTopLevelImpl.cs" /> <Compile Include="Wpf\WpfTopLevelImpl.cs" />

2
src/Windows/Avalonia.Win32.Interop/Wpf/Helpers.cs → src/Windows/Avalonia.Win32.Interop/Wpf/WpfInteropExtensions.cs

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Avalonia.Win32.Interop.Wpf namespace Avalonia.Win32.Interop.Wpf
{ {
static class Helpers static class WpfInteropExtensions
{ {
public static System.Windows.Point ToWpfPoint(this Point pt) => new System.Windows.Point(pt.X, pt.Y); public static System.Windows.Point ToWpfPoint(this Point pt) => new System.Windows.Point(pt.X, pt.Y);
public static Point ToAvaloniaPoint(this System.Windows.Point pt) => new Point(pt.X, pt.Y); public static Point ToAvaloniaPoint(this System.Windows.Point pt) => new Point(pt.X, pt.Y);
Loading…
Cancel
Save