Доработара WinUI реализация.

This commit is contained in:
2026-01-25 05:36:28 +03:00
parent bbb20edb03
commit 6ad7b5dcdb
20 changed files with 1089 additions and 1801 deletions

View File

@@ -8,8 +8,12 @@ using Windows.UI;
namespace Lattice.UI.DragDrop.WinUI.Controls;
/// <summary>
/// Визуальный элемент для предварительного просмотра области сброса.
/// Визуальный элемент для подсветки области сброса.
/// </summary>
/// <remarks>
/// Этот элемент отображается вокруг целевого элемента при наведении перетаскиваемого
/// объекта для визуального указания возможности сброса.
/// </remarks>
[TemplateVisualState(Name = "Normal", GroupName = "CommonStates")]
[TemplateVisualState(Name = "Highlighted", GroupName = "CommonStates")]
public class DropPreviewAdorner : Control
@@ -54,8 +58,11 @@ public class DropPreviewAdorner : Control
}
/// <summary>
/// Получает или задает цвет предварительного просмотра.
/// Получает или задает цвет подсветки области сброса.
/// </summary>
/// <value>
/// Цвет границы и фона подсветки. Значение по умолчанию берется из ресурсов темы.
/// </value>
public Color PreviewColor
{
get => (Color)GetValue(PreviewColorProperty);
@@ -81,9 +88,12 @@ public class DropPreviewAdorner : Control
}
/// <summary>
/// Показывает элемент с указанными границами.
/// Показывает элемент подсветки для указанной области.
/// </summary>
/// <param name="bounds">Границы для отображения.</param>
/// <param name="bounds">Границы области для подсветки.</param>
/// <remarks>
/// Метод позиционирует элемент по указанным границам и запускает анимацию появления.
/// </remarks>
public void Show(Core.Geometry.Rect bounds)
{
Width = bounds.Width;
@@ -124,9 +134,9 @@ public class DropPreviewAdorner : Control
}
/// <summary>
/// Обновляет позицию элемента.
/// Обновляет позицию и размер элемента подсветки.
/// </summary>
/// <param name="bounds">Новые границы.</param>
/// <param name="bounds">Новые границы области для подсветки.</param>
public void UpdatePosition(Core.Geometry.Rect bounds)
{
if (RenderTransform is TranslateTransform transform)