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> <TreeView.Styles>
<Style Selector="TreeViewItem"> <Style Selector="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/> <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="Background" Value="Transparent" />
</Style> </Style>
</TreeView.Styles> </TreeView.Styles>
</TreeView> </TreeView>

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

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

Loading…
Cancel
Save