DragAndDrop core
This commit is contained in:
153
Lattice.UI.DragDrop.WinUI/Themes/DragDropStyles.xaml
Normal file
153
Lattice.UI.DragDrop.WinUI/Themes/DragDropStyles.xaml
Normal file
@@ -0,0 +1,153 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- Стиль для элементов с поддержкой перетаскивания -->
|
||||
<Style x:Key="Lattice.DragDrop.DragSourceStyle" TargetType="Control">
|
||||
<Setter Property="Background" Value="{ThemeResource Lattice.Brush.Background.Secondary}" />
|
||||
<Setter Property="BorderBrush" Value="{ThemeResource Lattice.Brush.Border.Primary}" />
|
||||
<Setter Property="BorderThickness" Value="{ThemeResource Lattice.BorderThickness.Thin}" />
|
||||
<Setter Property="Padding" Value="{ThemeResource Lattice.Spacing.Medium}" />
|
||||
<Setter Property="CornerRadius" Value="{ThemeResource Lattice.CornerRadius.Small}" />
|
||||
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Control">
|
||||
<Border
|
||||
x:Name="RootBorder"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter x:Name="ContentPresenter" />
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="DragDropStates">
|
||||
<VisualState x:Name="Normal" />
|
||||
<VisualState x:Name="Dragging">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="RootBorder.Opacity" Value="{ThemeResource Lattice.Opacity.Drag}" />
|
||||
<Setter Target="RootBorder.RenderTransform">
|
||||
<Setter.Value>
|
||||
<ScaleTransform ScaleX="0.95" ScaleY="0.95" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Accent}" Opacity="0.1" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
<VisualState x:Name="DragOver">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="RootBorder.Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Accent}" Opacity="0.2" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.BorderBrush">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Accent}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- Стиль для целей сброса -->
|
||||
<Style x:Key="Lattice.DragDrop.DropTargetStyle" TargetType="Control">
|
||||
<Setter Property="Background" Value="{ThemeResource Lattice.Brush.Background.Tertiary}" />
|
||||
<Setter Property="BorderBrush" Value="{ThemeResource Lattice.Brush.Border.Secondary}" />
|
||||
<Setter Property="BorderThickness" Value="{ThemeResource Lattice.BorderThickness.Medium}" />
|
||||
<Setter Property="Padding" Value="{ThemeResource Lattice.Spacing.Large}" />
|
||||
<Setter Property="CornerRadius" Value="{ThemeResource Lattice.CornerRadius.Medium}" />
|
||||
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Control">
|
||||
<Border
|
||||
x:Name="RootBorder"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter x:Name="ContentPresenter" />
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="DropTargetStates">
|
||||
<VisualState x:Name="Normal" />
|
||||
<VisualState x:Name="DragOver">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="RootBorder.Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Accent}" Opacity="0.1" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.BorderBrush">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Accent}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.BorderThickness" Value="3" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
<VisualState x:Name="DropValid">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="RootBorder.Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Success}" Opacity="0.1" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.BorderBrush">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Success}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
<VisualState x:Name="DropInvalid">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="RootBorder.Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Error}" Opacity="0.1" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Target="RootBorder.BorderBrush">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="{ThemeResource Lattice.Color.Error}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- Бруши для визуальной обратной связи -->
|
||||
<SolidColorBrush x:Key="Lattice.DragDrop.DragOverBackgroundBrush"
|
||||
Color="{ThemeResource Lattice.Color.Accent}"
|
||||
Opacity="0.3" />
|
||||
|
||||
<SolidColorBrush x:Key="Lattice.DragDrop.DragOverBorderBrush"
|
||||
Color="{ThemeResource Lattice.Color.Accent}" />
|
||||
|
||||
<SolidColorBrush x:Key="Lattice.DragDrop.DropValidBrush"
|
||||
Color="{ThemeResource Lattice.Color.Success}"
|
||||
Opacity="0.5" />
|
||||
|
||||
<SolidColorBrush x:Key="Lattice.DragDrop.DropInvalidBrush"
|
||||
Color="{ThemeResource Lattice.Color.Error}"
|
||||
Opacity="0.5" />
|
||||
|
||||
</ResourceDictionary>
|
||||
Reference in New Issue
Block a user