Browse Source

Merge pull request #11131 from AvaloniaUI/fixes/11120-devtools-tab-switching

Fix DevTools tab switching.
onformfactor_issue
Max Katz 3 years ago
committed by GitHub
parent
commit
4367c2d947
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

28
src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

@ -39,16 +39,6 @@ namespace Avalonia.Diagnostics.Views
AdornerLayer.SetIsClipEnabled(_adorner, false);
}
protected override void OnDataContextChanged(EventArgs e)
{
base.OnDataContextChanged(e);
((TreePageViewModel)DataContext!).ClipboardCopyRequested += (sender, s) =>
{
TopLevel.GetTopLevel(this)?.Clipboard?.SetTextAsync(s);
};
}
protected void AddAdorner(object? sender, PointerEventArgs e)
{
var node = (TreeNode?)((Control)sender!).DataContext;
@ -108,9 +98,27 @@ namespace Avalonia.Diagnostics.Views
_currentLayer = null;
}
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
{
base.OnPropertyChanged(change);
if (change.Property == DataContextProperty)
{
if (change.GetOldValue<object?>() is TreePageViewModel oldViewModel)
oldViewModel.ClipboardCopyRequested -= OnClipboardCopyRequested;
if (change.GetNewValue<object?>() is TreePageViewModel newViewModel)
newViewModel.ClipboardCopyRequested += OnClipboardCopyRequested;
}
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
private void OnClipboardCopyRequested(object? sender, string e)
{
TopLevel.GetTopLevel(this)?.Clipboard?.SetTextAsync(e);
}
}
}

Loading…
Cancel
Save