diff --git a/src/AtomUI.Controls.DataGrid/Utils/IndexToValueTable.cs b/src/AtomUI.Controls.DataGrid/Utils/IndexToValueTable.cs index f6c33bbea..9d3bb5832 100644 --- a/src/AtomUI.Controls.DataGrid/Utils/IndexToValueTable.cs +++ b/src/AtomUI.Controls.DataGrid/Utils/IndexToValueTable.cs @@ -1,3 +1,8 @@ +// (c) Copyright Microsoft Corporation. +// This source is subject to the Microsoft Public License (Ms-PL). +// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details. +// All other rights reserved. + using System.Diagnostics; namespace AtomUI.Controls.Utils; diff --git a/src/AtomUI.Controls.DataGrid/Utils/VisualExtensions.cs b/src/AtomUI.Controls.DataGrid/Utils/VisualExtensions.cs new file mode 100644 index 000000000..699464375 --- /dev/null +++ b/src/AtomUI.Controls.DataGrid/Utils/VisualExtensions.cs @@ -0,0 +1,22 @@ +using Avalonia; + +namespace AtomUI.Controls.Utils; + +public static class VisualExtensions +{ + internal static Point Translate(this Visual fromElement, Visual toElement, Point fromPoint) + { + if (fromElement == toElement) + { + return fromPoint; + } + + var transform = fromElement.TransformToVisual(toElement); + if (transform.HasValue) + { + return fromPoint.Transform(transform.Value); + } + + return fromPoint; + } +} \ No newline at end of file