From 2fcde9e34d9ac5518a502acb1b2589573e434e71 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 30 Apr 2020 17:39:19 +0200 Subject: [PATCH] Use OnApplyTemplate instead of OnTemplateApplied. - More similar to WPF API - Less bug-prone (see #3744) `OnTemplateApplied` still exists, but is deprecated and does nothing. --- src/Avalonia.Controls.DataGrid/DataGrid.cs | 2 +- src/Avalonia.Controls.DataGrid/DataGridCell.cs | 4 +--- src/Avalonia.Controls.DataGrid/DataGridRow.cs | 4 +--- .../DataGridRowGroupHeader.cs | 4 +--- src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs | 4 +--- src/Avalonia.Controls/AutoCompleteBox.cs | 4 ++-- src/Avalonia.Controls/ButtonSpinner.cs | 2 +- src/Avalonia.Controls/Calendar/Calendar.cs | 4 +--- src/Avalonia.Controls/Calendar/CalendarButton.cs | 3 +-- src/Avalonia.Controls/Calendar/CalendarDayButton.cs | 4 ++-- src/Avalonia.Controls/Calendar/CalendarItem.cs | 4 +--- src/Avalonia.Controls/Calendar/DatePicker.cs | 4 +--- src/Avalonia.Controls/ComboBox.cs | 4 +--- src/Avalonia.Controls/ListBox.cs | 3 +-- src/Avalonia.Controls/MenuItem.cs | 4 +--- .../Notifications/WindowNotificationManager.cs | 4 +--- src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs | 2 +- src/Avalonia.Controls/Primitives/ScrollBar.cs | 4 +--- src/Avalonia.Controls/Primitives/TemplatedControl.cs | 10 ++++++++-- src/Avalonia.Controls/ProgressBar.cs | 2 +- src/Avalonia.Controls/Slider.cs | 2 +- src/Avalonia.Controls/TabControl.cs | 4 +--- src/Avalonia.Controls/TextBox.cs | 2 +- src/Avalonia.Controls/TreeViewItem.cs | 3 +-- .../Primitives/PopupRootTests.cs | 2 +- .../TestTemplatedControl.cs | 3 +-- 26 files changed, 35 insertions(+), 57 deletions(-) diff --git a/src/Avalonia.Controls.DataGrid/DataGrid.cs b/src/Avalonia.Controls.DataGrid/DataGrid.cs index 844316741a..3a1e612a05 100644 --- a/src/Avalonia.Controls.DataGrid/DataGrid.cs +++ b/src/Avalonia.Controls.DataGrid/DataGrid.cs @@ -2245,7 +2245,7 @@ namespace Avalonia.Controls /// Builds the visual tree for the column header when a new template is applied. /// //TODO Validation UI - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { // The template has changed, so we need to refresh the visuals _measured = false; diff --git a/src/Avalonia.Controls.DataGrid/DataGridCell.cs b/src/Avalonia.Controls.DataGrid/DataGridCell.cs index e56c534f50..76b064c328 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridCell.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridCell.cs @@ -121,10 +121,8 @@ namespace Avalonia.Controls /// /// Builds the visual tree for the cell control when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); - UpdatePseudoClasses(); _rightGridLine = e.NameScope.Find(DATAGRIDCELL_elementRightGridLine); if (_rightGridLine != null && OwningColumn == null) diff --git a/src/Avalonia.Controls.DataGrid/DataGridRow.cs b/src/Avalonia.Controls.DataGrid/DataGridRow.cs index c9924660be..0c801a5b11 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRow.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRow.cs @@ -536,10 +536,8 @@ namespace Avalonia.Controls /// /// Builds the visual tree for the column header when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); - RootElement = e.NameScope.Find(DATAGRIDROW_elementRoot); if (RootElement != null) { diff --git a/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs index 69dfed761f..f6628b47d8 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs @@ -168,7 +168,7 @@ namespace Avalonia.Controls private IDisposable _expanderButtonSubscription; - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { _rootElement = e.NameScope.Find(DataGridRow.DATAGRIDROW_elementRoot); @@ -199,8 +199,6 @@ namespace Avalonia.Controls _itemCountElement = e.NameScope.Find(DATAGRIDROWGROUPHEADER_itemCountElement); _propertyNameElement = e.NameScope.Find(DATAGRIDROWGROUPHEADER_propertyNameElement); UpdateTitleElements(); - - base.OnTemplateApplied(e); } internal void ApplyHeaderStatus() diff --git a/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs index 5bfe449b63..ef88e4a946 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs @@ -94,10 +94,8 @@ namespace Avalonia.Controls.Primitives /// /// Builds the visual tree for the row header when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); - _rootElement = e.NameScope.Find(DATAGRIDROWHEADER_elementRootName); if (_rootElement != null) { diff --git a/src/Avalonia.Controls/AutoCompleteBox.cs b/src/Avalonia.Controls/AutoCompleteBox.cs index 9bc7ba9e2f..3e4f47ec8a 100644 --- a/src/Avalonia.Controls/AutoCompleteBox.cs +++ b/src/Avalonia.Controls/AutoCompleteBox.cs @@ -1212,7 +1212,7 @@ namespace Avalonia.Controls /// control /// when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { if (DropDownPopup != null) @@ -1240,7 +1240,7 @@ namespace Avalonia.Controls OpeningDropDown(false); } - base.OnTemplateApplied(e); + base.OnApplyTemplate(e); } /// diff --git a/src/Avalonia.Controls/ButtonSpinner.cs b/src/Avalonia.Controls/ButtonSpinner.cs index 2ac9319478..7945d63b06 100644 --- a/src/Avalonia.Controls/ButtonSpinner.cs +++ b/src/Avalonia.Controls/ButtonSpinner.cs @@ -121,7 +121,7 @@ namespace Avalonia.Controls } /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { IncreaseButton = e.NameScope.Find - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); - Root = e.NameScope.Find(PART_ElementRoot); SelectedMonth = DisplayDate; diff --git a/src/Avalonia.Controls/Calendar/CalendarButton.cs b/src/Avalonia.Controls/Calendar/CalendarButton.cs index a273e68d56..35c082634f 100644 --- a/src/Avalonia.Controls/Calendar/CalendarButton.cs +++ b/src/Avalonia.Controls/Calendar/CalendarButton.cs @@ -98,9 +98,8 @@ namespace Avalonia.Controls.Primitives /// /// when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); SetPseudoClasses(); } diff --git a/src/Avalonia.Controls/Calendar/CalendarDayButton.cs b/src/Avalonia.Controls/Calendar/CalendarDayButton.cs index e62a1ce1f4..91213acfb3 100644 --- a/src/Avalonia.Controls/Calendar/CalendarDayButton.cs +++ b/src/Avalonia.Controls/Calendar/CalendarDayButton.cs @@ -150,11 +150,11 @@ namespace Avalonia.Controls.Primitives } } - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); SetPseudoClasses(); } + private void SetPseudoClasses() { if (_ignoringMouseOverState) diff --git a/src/Avalonia.Controls/Calendar/CalendarItem.cs b/src/Avalonia.Controls/Calendar/CalendarItem.cs index 5a2d1bbfd5..ece0ef97d9 100644 --- a/src/Avalonia.Controls/Calendar/CalendarItem.cs +++ b/src/Avalonia.Controls/Calendar/CalendarItem.cs @@ -268,10 +268,8 @@ namespace Avalonia.Controls.Primitives /// /// when a new template is applied. /// - protected override void OnTemplateApplied(TemplateAppliedEventArgs e) + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { - base.OnTemplateApplied(e); - HeaderButton = e.NameScope.Find