Browse Source

Merge branch 'master' into devtools-layout-alignment

pull/5950/head
Dariusz Komosiński 5 years ago
committed by GitHub
parent
commit
0701eec3ab
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml
  2. 19
      src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

1
src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml

@ -20,6 +20,7 @@
<TreeView.Styles>
<Style Selector="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="Background" Value="Transparent" />
</Style>
</TreeView.Styles>
</TreeView>

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

@ -1,3 +1,4 @@
using System.Diagnostics;
using System.Linq;
using Avalonia.Controls;
using Avalonia.Controls.Generators;
@ -6,6 +7,7 @@ using Avalonia.Diagnostics.ViewModels;
using Avalonia.Input;
using Avalonia.Markup.Xaml;
using Avalonia.Media;
using Avalonia.VisualTree;
namespace Avalonia.Diagnostics.Views
{
@ -100,12 +102,19 @@ namespace Avalonia.Diagnostics.Views
private void TreeViewItemTemplateApplied(object sender, TemplateAppliedEventArgs e)
{
var item = (TreeViewItem)sender;
var headerPresenter = item.HeaderPresenter;
headerPresenter.ApplyTemplate();
var header = headerPresenter.Child;
header.PointerEnter += AddAdorner;
header.PointerLeave += RemoveAdorner;
// This depends on the default tree item template.
// We want to handle events in the item header but exclude events coming from children.
var header = item.FindDescendantOfType<Border>();
Debug.Assert(header != null);
if (header != null)
{
header.PointerEnter += AddAdorner;
header.PointerLeave += RemoveAdorner;
}
item.TemplateApplied -= TreeViewItemTemplateApplied;
}
}

Loading…
Cancel
Save