Browse Source

Bring header presenter into view, and size to auto

pull/20531/head
Petar Tasev 8 months ago
parent
commit
0efe041854
  1. 15
      src/Avalonia.Controls/TreeViewItem.cs
  2. 2
      src/Avalonia.Themes.Fluent/Controls/TreeViewItem.xaml
  3. 2
      src/Avalonia.Themes.Simple/Controls/TreeViewItem.xaml

15
src/Avalonia.Controls/TreeViewItem.cs

@ -191,16 +191,13 @@ namespace Avalonia.Controls
return; return;
} }
if (_header != null) var header = _headerPresenter ?? _header;
var m = header?.TransformToVisual(this);
if (m.HasValue)
{ {
var m = _header.TransformToVisual(this); var bounds = new Rect(header.Bounds.Size);
var rect = bounds.TransformToAABB(m.Value);
if (m.HasValue) e.TargetRect = rect;
{
var bounds = new Rect(_header.Bounds.Size);
var rect = bounds.TransformToAABB(m.Value);
e.TargetRect = rect;
}
} }
} }
} }

2
src/Avalonia.Themes.Fluent/Controls/TreeViewItem.xaml

@ -73,7 +73,7 @@
MinHeight="{TemplateBinding MinHeight}" MinHeight="{TemplateBinding MinHeight}"
TemplatedControl.IsTemplateFocusTarget="True"> TemplatedControl.IsTemplateFocusTarget="True">
<Grid Name="PART_Header" <Grid Name="PART_Header"
ColumnDefinitions="Auto, *"> ColumnDefinitions="Auto, Auto">
<Grid.Margin> <Grid.Margin>
<MultiBinding Converter="{x:Static converters:TreeViewItemIndentConverter.Instance}"> <MultiBinding Converter="{x:Static converters:TreeViewItemIndentConverter.Instance}">
<Binding Path="Level" RelativeSource="{RelativeSource TemplatedParent}" /> <Binding Path="Level" RelativeSource="{RelativeSource TemplatedParent}" />

2
src/Avalonia.Themes.Simple/Controls/TreeViewItem.xaml

@ -43,7 +43,7 @@
Focusable="True" Focusable="True"
TemplatedControl.IsTemplateFocusTarget="True"> TemplatedControl.IsTemplateFocusTarget="True">
<Grid Name="PART_Header" <Grid Name="PART_Header"
ColumnDefinitions="16, *"> ColumnDefinitions="16, Auto">
<Grid.Margin> <Grid.Margin>
<MultiBinding Converter="{x:Static converters:TreeViewItemIndentConverter.Instance}"> <MultiBinding Converter="{x:Static converters:TreeViewItemIndentConverter.Instance}">
<Binding Path="Level" RelativeSource="{RelativeSource TemplatedParent}" /> <Binding Path="Level" RelativeSource="{RelativeSource TemplatedParent}" />

Loading…
Cancel
Save