DragAndDrop core
This commit is contained in:
74
Lattice.Themes.Fluent/Brushes.xaml
Normal file
74
Lattice.Themes.Fluent/Brushes.xaml
Normal file
@@ -0,0 +1,74 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- Background Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Background.Primary"
|
||||
Color="{StaticResource Fluent.Color.Background.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Background.Secondary"
|
||||
Color="{StaticResource Fluent.Color.Background.Secondary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Background.Tertiary"
|
||||
Color="{StaticResource Fluent.Color.Background.Tertiary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Background.Quaternary"
|
||||
Color="{StaticResource Fluent.Color.Background.Quaternary}" />
|
||||
|
||||
<!-- Text Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Text.Primary"
|
||||
Color="{StaticResource Fluent.Color.Text.Primary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Text.Secondary"
|
||||
Color="{StaticResource Fluent.Color.Text.Secondary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Text.Disabled"
|
||||
Color="{StaticResource Fluent.Color.Text.Disabled}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Text.OnAccent"
|
||||
Color="{StaticResource Fluent.Color.Text.OnAccent}" />
|
||||
|
||||
<!-- Accent Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Accent.Default"
|
||||
Color="{StaticResource Fluent.Color.Accent.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Accent.Secondary"
|
||||
Color="{StaticResource Fluent.Color.Accent.Secondary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Accent.Tertiary"
|
||||
Color="{StaticResource Fluent.Color.Accent.Tertiary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Accent.Action"
|
||||
Color="{StaticResource Fluent.Color.Accent.Action}" />
|
||||
|
||||
<!-- Border Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Border.Default"
|
||||
Color="{StaticResource Fluent.Color.Border.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Border.Secondary"
|
||||
Color="{StaticResource Fluent.Color.Border.Secondary}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Border.Accent"
|
||||
Color="{StaticResource Fluent.Color.Border.Accent}" />
|
||||
|
||||
<!-- System Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.System.Success"
|
||||
Color="{StaticResource Fluent.Color.System.Success}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.System.Warning"
|
||||
Color="{StaticResource Fluent.Color.System.Warning}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.System.Error"
|
||||
Color="{StaticResource Fluent.Color.System.Error}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.System.Info"
|
||||
Color="{StaticResource Fluent.Color.System.Info}" />
|
||||
|
||||
<!-- Control Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Control.Default"
|
||||
Color="{StaticResource Fluent.Color.Control.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Control.Stroke.Default"
|
||||
Color="{StaticResource Fluent.Color.Control.Stroke.Default}" />
|
||||
|
||||
<!-- Card & Layer Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Card.Background"
|
||||
Color="{StaticResource Fluent.Color.Card.Background}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Card.Stroke"
|
||||
Color="{StaticResource Fluent.Color.Card.Stroke}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Layer.Default"
|
||||
Color="{StaticResource Fluent.Color.Layer.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Layer.OnAcrylic"
|
||||
Color="{StaticResource Fluent.Color.Layer.OnAcrylic}" />
|
||||
|
||||
<!-- Divider Brushes -->
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Divider.Default"
|
||||
Color="{StaticResource Fluent.Color.Divider.Default}" />
|
||||
<SolidColorBrush x:Key="Fluent.Brush.Divider.Strong"
|
||||
Color="{StaticResource Fluent.Color.Divider.Strong}" />
|
||||
</ResourceDictionary>
|
||||
48
Lattice.Themes.Fluent/Colors/Dark.xaml
Normal file
48
Lattice.Themes.Fluent/Colors/Dark.xaml
Normal file
@@ -0,0 +1,48 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- Fluent UI 2 Color Tokens (Dark Theme) -->
|
||||
<Color x:Key="Fluent.Color.Background.Default">#FF1F1F1F</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Secondary">#FF2D2D2D</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Tertiary">#FF3B3B3B</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Quaternary">#FF4A4A4A</Color>
|
||||
|
||||
<Color x:Key="Fluent.Color.Text.Primary">#FFFFFFFF</Color>
|
||||
<Color x:Key="Fluent.Color.Text.Secondary">#FFC8C6C4</Color>
|
||||
<Color x:Key="Fluent.Color.Text.Disabled">#FF6D6D6D</Color>
|
||||
<Color x:Key="Fluent.Color.Text.OnAccent">#FF000000</Color>
|
||||
|
||||
<!-- Accent Colors (Fluent Cyan for Dark Theme) -->
|
||||
<Color x:Key="Fluent.Color.Accent.Default">#FF50E6FF</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Secondary">#FF00B7C3</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Tertiary">#FF008B9A</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Action">#FF50E6FF</Color>
|
||||
|
||||
<!-- Border Colors -->
|
||||
<Color x:Key="Fluent.Color.Border.Default">#FF6D6D6D</Color>
|
||||
<Color x:Key="Fluent.Color.Border.Secondary">#FF4A4A4A</Color>
|
||||
<Color x:Key="Fluent.Color.Border.Accent">#FF50E6FF</Color>
|
||||
|
||||
<!-- System Colors -->
|
||||
<Color x:Key="Fluent.Color.System.Success">#FF107C10</Color>
|
||||
<Color x:Key="Fluent.Color.System.Warning">#FFF7630C</Color>
|
||||
<Color x:Key="Fluent.Color.System.Error">#FFD13438</Color>
|
||||
<Color x:Key="Fluent.Color.System.Info">#FF50E6FF</Color>
|
||||
|
||||
<!-- Control Colors -->
|
||||
<Color x:Key="Fluent.Color.Control.Default">#FF2D2D2D</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Secondary">#FF3B3B3B</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Stroke.Default">#FF6D6D6D</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Stroke.Secondary">#FF4A4A4A</Color>
|
||||
|
||||
<!-- Card & Layer Colors -->
|
||||
<Color x:Key="Fluent.Color.Card.Background">#FF2D2D2D</Color>
|
||||
<Color x:Key="Fluent.Color.Card.Stroke">#FF3B3B3B</Color>
|
||||
<Color x:Key="Fluent.Color.Layer.Default">#FF2D2D2D</Color>
|
||||
<Color x:Key="Fluent.Color.Layer.OnAcrylic">#FF2D2D2D</Color>
|
||||
|
||||
<!-- Divider Colors -->
|
||||
<Color x:Key="Fluent.Color.Divider.Default">#FF3B3B3B</Color>
|
||||
<Color x:Key="Fluent.Color.Divider.Strong">#FF4A4A4A</Color>
|
||||
</ResourceDictionary>
|
||||
48
Lattice.Themes.Fluent/Colors/Light.xaml
Normal file
48
Lattice.Themes.Fluent/Colors/Light.xaml
Normal file
@@ -0,0 +1,48 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- Fluent UI 2 Color Tokens (Light Theme) -->
|
||||
<Color x:Key="Fluent.Color.Background.Default">#FFFFFFFF</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Secondary">#FFF3F2F1</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Tertiary">#FFE1DFDD</Color>
|
||||
<Color x:Key="Fluent.Color.Background.Quaternary">#FFC8C6C4</Color>
|
||||
|
||||
<Color x:Key="Fluent.Color.Text.Primary">#FF000000</Color>
|
||||
<Color x:Key="Fluent.Color.Text.Secondary">#FF605E5C</Color>
|
||||
<Color x:Key="Fluent.Color.Text.Disabled">#FFA19F9D</Color>
|
||||
<Color x:Key="Fluent.Color.Text.OnAccent">#FFFFFFFF</Color>
|
||||
|
||||
<!-- Accent Colors (Fluent Blue) -->
|
||||
<Color x:Key="Fluent.Color.Accent.Default">#FF0078D4</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Secondary">#FF005A9E</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Tertiary">#FF004275</Color>
|
||||
<Color x:Key="Fluent.Color.Accent.Action">#FF0078D4</Color>
|
||||
|
||||
<!-- Border Colors -->
|
||||
<Color x:Key="Fluent.Color.Border.Default">#FF8A8886</Color>
|
||||
<Color x:Key="Fluent.Color.Border.Secondary">#FFC8C6C4</Color>
|
||||
<Color x:Key="Fluent.Color.Border.Accent">#FF0078D4</Color>
|
||||
|
||||
<!-- System Colors -->
|
||||
<Color x:Key="Fluent.Color.System.Success">#FF107C10</Color>
|
||||
<Color x:Key="Fluent.Color.System.Warning">#FFF7630C</Color>
|
||||
<Color x:Key="Fluent.Color.System.Error">#FFD13438</Color>
|
||||
<Color x:Key="Fluent.Color.System.Info">#FF0078D4</Color>
|
||||
|
||||
<!-- Control Colors -->
|
||||
<Color x:Key="Fluent.Color.Control.Default">#FFFFFFFF</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Secondary">#FFF3F2F1</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Stroke.Default">#FF8A8886</Color>
|
||||
<Color x:Key="Fluent.Color.Control.Stroke.Secondary">#FFC8C6C4</Color>
|
||||
|
||||
<!-- Card & Layer Colors -->
|
||||
<Color x:Key="Fluent.Color.Card.Background">#FFFFFFFF</Color>
|
||||
<Color x:Key="Fluent.Color.Card.Stroke">#FFE1DFDD</Color>
|
||||
<Color x:Key="Fluent.Color.Layer.Default">#FFF3F2F1</Color>
|
||||
<Color x:Key="Fluent.Color.Layer.OnAcrylic">#FFF3F2F1</Color>
|
||||
|
||||
<!-- Divider Colors -->
|
||||
<Color x:Key="Fluent.Color.Divider.Default">#FFE1DFDD</Color>
|
||||
<Color x:Key="Fluent.Color.Divider.Strong">#FFC8C6C4</Color>
|
||||
</ResourceDictionary>
|
||||
45
Lattice.Themes.Fluent/FluentThemePack.cs
Normal file
45
Lattice.Themes.Fluent/FluentThemePack.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Lattice.Themes.Fluent;
|
||||
|
||||
public class FluentThemePack : ThemePack
|
||||
{
|
||||
private static readonly Uri[] _lightResourceUris = new[]
|
||||
{
|
||||
new Uri("ms-appx:///Lattice.Themes.Fluent/Colors/Light.xaml"),
|
||||
new Uri("ms-appx:///Lattice.Themes.Fluent/Main.xaml")
|
||||
};
|
||||
|
||||
private static readonly Uri[] _darkResourceUris = new[]
|
||||
{
|
||||
new Uri("ms-appx:///Lattice.Themes.Fluent/Colors/Dark.xaml"),
|
||||
new Uri("ms-appx:///Lattice.Themes.Fluent/Main.xaml")
|
||||
};
|
||||
|
||||
public FluentThemePack(bool isDark = false) : base(isDark ? "Fluent Dark" : "Fluent")
|
||||
{
|
||||
Description = isDark ?
|
||||
"Fluent UI 2 Dark Theme (WinUI 3)" :
|
||||
"Fluent UI 2 Light Theme (WinUI 3)";
|
||||
Version = "2.0.0";
|
||||
IsDark = isDark;
|
||||
}
|
||||
|
||||
public override IReadOnlyList<Uri> GetResourceUris()
|
||||
{
|
||||
return IsDark ? _darkResourceUris : _lightResourceUris;
|
||||
}
|
||||
|
||||
public override void OnApply()
|
||||
{
|
||||
base.OnApply();
|
||||
System.Diagnostics.Debug.WriteLine($"Applying Fluent UI 2 Theme: {Name}");
|
||||
|
||||
// Устанавливаем Fluent-специфичные настройки
|
||||
if (Microsoft.UI.Xaml.Application.Current is Microsoft.UI.Xaml.Application app)
|
||||
{
|
||||
// Можно установить Fluent-специфичные настройки приложения
|
||||
}
|
||||
}
|
||||
}
|
||||
40
Lattice.Themes.Fluent/Geometry.xaml
Normal file
40
Lattice.Themes.Fluent/Geometry.xaml
Normal file
@@ -0,0 +1,40 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- Fluent UI 2 Corner Radius System -->
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.None">0</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.Small">2</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.Medium">4</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.Large">8</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.ExtraLarge">12</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.Circle">1000</CornerRadius>
|
||||
<CornerRadius x:Key="Fluent.CornerRadius.Panel">8</CornerRadius>
|
||||
|
||||
<!-- Fluent UI 2 Border Thickness -->
|
||||
<Thickness x:Key="Fluent.BorderThickness.None">0</Thickness>
|
||||
<Thickness x:Key="Fluent.BorderThickness.Thin">1</Thickness>
|
||||
<Thickness x:Key="Fluent.BorderThickness.Medium">2</Thickness>
|
||||
<Thickness x:Key="Fluent.BorderThickness.Thick">4</Thickness>
|
||||
<Thickness x:Key="Fluent.BorderThickness.Panel">1</Thickness>
|
||||
|
||||
<!-- Fluent UI 2 Spacing System -->
|
||||
<x:Double x:Key="Fluent.Spacing.None">0</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.ExtraSmall">2</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.Small">4</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.Medium">8</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.Large">12</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.ExtraLarge">16</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.ExtraExtraLarge">24</x:Double>
|
||||
<x:Double x:Key="Fluent.Spacing.Panel">4</x:Double>
|
||||
|
||||
<!-- Control Sizes -->
|
||||
<x:Double x:Key="Fluent.Size.Splitter.Width">2</x:Double>
|
||||
<x:Double x:Key="Fluent.Size.Control.Height">32</x:Double>
|
||||
<x:Double x:Key="Fluent.Size.Control.CornerRadius">4</x:Double>
|
||||
|
||||
<!-- Icon Sizes -->
|
||||
<x:Double x:Key="Fluent.Size.Icon.Small">16</x:Double>
|
||||
<x:Double x:Key="Fluent.Size.Icon.Medium">20</x:Double>
|
||||
<x:Double x:Key="Fluent.Size.Icon.Large">24</x:Double>
|
||||
</ResourceDictionary>
|
||||
50
Lattice.Themes.Fluent/Lattice.Themes.Fluent.csproj
Normal file
50
Lattice.Themes.Fluent/Lattice.Themes.Fluent.csproj
Normal file
@@ -0,0 +1,50 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0-windows10.0.19041.0;net9.0-windows10.0.19041.0;net10.0-windows10.0.19041.0</TargetFrameworks>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RootNamespace>Lattice.Themes.Fluent</RootNamespace>
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
||||
<UseWinUI>true</UseWinUI>
|
||||
<WinUISDKReferences>false</WinUISDKReferences>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Remove="Colors\Dark.xaml" />
|
||||
<None Remove="Colors\Light.xaml" />
|
||||
<None Remove="Tokens.xaml" />
|
||||
<None Remove="Typography.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.7463" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.251106002" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Lattice.Themes.Core\Lattice.Themes.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Page Update="Typography.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Page Update="Colors\Dark.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Page Update="Tokens.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Page Update="Colors\Light.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
60
Lattice.Themes.Fluent/Main.xaml
Normal file
60
Lattice.Themes.Fluent/Main.xaml
Normal file
@@ -0,0 +1,60 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:muxc="using:Microsoft.UI.Xaml.Controls">
|
||||
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<!-- Порядок важен! -->
|
||||
<ResourceDictionary Source="ms-appx:///Lattice.Themes.Fluent/Brushes.xaml" />
|
||||
<ResourceDictionary Source="ms-appx:///Lattice.Themes.Fluent/Geometry.xaml" />
|
||||
<ResourceDictionary Source="ms-appx:///Lattice.Themes.Fluent/Typography.xaml" />
|
||||
<ResourceDictionary Source="ms-appx:///Lattice.Themes.Fluent/Tokens.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!-- Fluent-специфичные стили -->
|
||||
<Style x:Key="LatticeTabViewStyle" TargetType="muxc:TabView">
|
||||
<Setter Property="Background" Value="{StaticResource Lattice.Brush.Background.Primary}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Lattice.Brush.Border.Primary}" />
|
||||
<Setter Property="BorderThickness" Value="{StaticResource Lattice.BorderThickness.Thin}" />
|
||||
<Setter Property="CornerRadius" Value="{StaticResource Lattice.CornerRadius.Medium}" />
|
||||
<!-- TabStripBackground заменяем на стиль TabViewItem -->
|
||||
</Style>
|
||||
|
||||
<!-- Стиль для TabViewItem -->
|
||||
<Style x:Key="LatticeTabViewItemStyle" TargetType="muxc:TabViewItem">
|
||||
<Setter Property="Background" Value="{ThemeResource TabViewItemHeaderBackground}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Lattice.Brush.Border.Primary}" />
|
||||
<Setter Property="BorderThickness" Value="{StaticResource Lattice.BorderThickness.Thin}" />
|
||||
<Setter Property="CornerRadius" Value="{StaticResource Lattice.CornerRadius.Small}" />
|
||||
<Setter Property="Margin" Value="2,0,0,0" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="LatticePanelStyle" TargetType="Border">
|
||||
<Setter Property="Background" Value="{StaticResource Lattice.Brush.Background.Primary}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Lattice.Brush.Panel.Border}" />
|
||||
<Setter Property="BorderThickness" Value="{StaticResource Lattice.BorderThickness.Panel}" />
|
||||
<Setter Property="CornerRadius" Value="{StaticResource Lattice.CornerRadius.Panel}" />
|
||||
<Setter Property="Padding" Value="{StaticResource Lattice.Spacing.Panel}" />
|
||||
<Setter Property="Margin" Value="{StaticResource Lattice.Spacing.Panel}" />
|
||||
</Style>
|
||||
|
||||
<!-- Стиль для Splitter (используем VisualStateManager вместо триггеров) -->
|
||||
<Style x:Key="LatticeSplitterStyle" TargetType="Rectangle">
|
||||
<Setter Property="Fill" Value="{StaticResource Lattice.Brush.Splitter.Normal}" />
|
||||
<Setter Property="Width" Value="{StaticResource Lattice.Size.Splitter.Width}" />
|
||||
<Setter Property="Height" Value="Auto" />
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
</Style>
|
||||
|
||||
<!-- VisualState для Splitter (нужно применять в контроле, использующем этот Rectangle) -->
|
||||
<VisualStateGroup x:Key="SplitterVisualStateGroup">
|
||||
<VisualState x:Name="Normal" />
|
||||
<VisualState x:Name="PointerOver">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="splitterRectangle.Fill"
|
||||
Value="{StaticResource Lattice.Brush.Splitter.Hover}" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</ResourceDictionary>
|
||||
191
Lattice.Themes.Fluent/Tokens.xaml
Normal file
191
Lattice.Themes.Fluent/Tokens.xaml
Normal file
@@ -0,0 +1,191 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<!-- ============ Colors ============ -->
|
||||
|
||||
<!-- Основные цвета -->
|
||||
<StaticResource x:Key="Lattice.Color.Primary" ResourceKey="Fluent.Color.Accent.Default" />
|
||||
<StaticResource x:Key="Lattice.Color.Secondary" ResourceKey="Fluent.Color.Accent.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Color.Tertiary" ResourceKey="Fluent.Color.Accent.Tertiary" />
|
||||
|
||||
<!-- Акцентные цвета -->
|
||||
<StaticResource x:Key="Lattice.Color.Accent" ResourceKey="Fluent.Color.Accent.Default" />
|
||||
<StaticResource x:Key="Lattice.Color.Accent.Light" ResourceKey="Fluent.Color.Accent.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Color.Accent.Dark" ResourceKey="Fluent.Color.Accent.Tertiary" />
|
||||
<StaticResource x:Key="Lattice.Color.Accent.Action" ResourceKey="Fluent.Color.Accent.Action" />
|
||||
|
||||
<!-- Фоновые цвета -->
|
||||
<StaticResource x:Key="Lattice.Color.Background.Primary" ResourceKey="Fluent.Color.Background.Default" />
|
||||
<StaticResource x:Key="Lattice.Color.Background.Secondary" ResourceKey="Fluent.Color.Background.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Color.Background.Tertiary" ResourceKey="Fluent.Color.Background.Tertiary" />
|
||||
<StaticResource x:Key="Lattice.Color.Background.Quaternary" ResourceKey="Fluent.Color.Background.Quaternary" />
|
||||
|
||||
<!-- Текстовые цвета -->
|
||||
<StaticResource x:Key="Lattice.Color.Text.Primary" ResourceKey="Fluent.Color.Text.Primary" />
|
||||
<StaticResource x:Key="Lattice.Color.Text.Secondary" ResourceKey="Fluent.Color.Text.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Color.Text.Disabled" ResourceKey="Fluent.Color.Text.Disabled" />
|
||||
<StaticResource x:Key="Lattice.Color.Text.OnAccent" ResourceKey="Fluent.Color.Text.OnAccent" />
|
||||
|
||||
<!-- Граничные цвета -->
|
||||
<StaticResource x:Key="Lattice.Color.Border.Primary" ResourceKey="Fluent.Color.Border.Default" />
|
||||
<StaticResource x:Key="Lattice.Color.Border.Secondary" ResourceKey="Fluent.Color.Border.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Color.Border.Accent" ResourceKey="Fluent.Color.Border.Accent" />
|
||||
|
||||
<!-- Цвета состояний -->
|
||||
<StaticResource x:Key="Lattice.Color.Success" ResourceKey="Fluent.Color.System.Success" />
|
||||
<StaticResource x:Key="Lattice.Color.Warning" ResourceKey="Fluent.Color.System.Warning" />
|
||||
<StaticResource x:Key="Lattice.Color.Error" ResourceKey="Fluent.Color.System.Error" />
|
||||
<StaticResource x:Key="Lattice.Color.Info" ResourceKey="Fluent.Color.System.Info" />
|
||||
|
||||
<!-- ============ Brushes ============ -->
|
||||
|
||||
<!-- Основные кисти -->
|
||||
<StaticResource x:Key="Lattice.Brush.Primary" ResourceKey="Fluent.Brush.Accent.Default" />
|
||||
<StaticResource x:Key="Lattice.Brush.Secondary" ResourceKey="Fluent.Brush.Accent.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Tertiary" ResourceKey="Fluent.Brush.Accent.Tertiary" />
|
||||
|
||||
<!-- Акцентные кисти -->
|
||||
<StaticResource x:Key="Lattice.Brush.Accent" ResourceKey="Fluent.Brush.Accent.Default" />
|
||||
<StaticResource x:Key="Lattice.Brush.Accent.Light" ResourceKey="Fluent.Brush.Accent.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Accent.Dark" ResourceKey="Fluent.Brush.Accent.Tertiary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Accent.Action" ResourceKey="Fluent.Brush.Accent.Action" />
|
||||
|
||||
<!-- Фоновые кисти -->
|
||||
<StaticResource x:Key="Lattice.Brush.Background.Primary" ResourceKey="Fluent.Brush.Background.Primary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Background.Secondary" ResourceKey="Fluent.Brush.Background.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Background.Tertiary" ResourceKey="Fluent.Brush.Background.Tertiary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Background.Quaternary" ResourceKey="Fluent.Brush.Background.Quaternary" />
|
||||
|
||||
<!-- Текстовые кисти -->
|
||||
<StaticResource x:Key="Lattice.Brush.Text.Primary" ResourceKey="Fluent.Brush.Text.Primary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Text.Secondary" ResourceKey="Fluent.Brush.Text.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Text.Disabled" ResourceKey="Fluent.Brush.Text.Disabled" />
|
||||
<StaticResource x:Key="Lattice.Brush.Text.OnAccent" ResourceKey="Fluent.Brush.Text.OnAccent" />
|
||||
|
||||
<!-- Граничные кисти -->
|
||||
<StaticResource x:Key="Lattice.Brush.Border.Primary" ResourceKey="Fluent.Brush.Border.Default" />
|
||||
<StaticResource x:Key="Lattice.Brush.Border.Secondary" ResourceKey="Fluent.Brush.Border.Secondary" />
|
||||
<StaticResource x:Key="Lattice.Brush.Border.Accent" ResourceKey="Fluent.Brush.Border.Accent" />
|
||||
<StaticResource x:Key="Lattice.Brush.Panel.Border" ResourceKey="Fluent.Brush.Card.Stroke" />
|
||||
|
||||
<!-- Кисти разделителей -->
|
||||
<StaticResource x:Key="Lattice.Brush.Splitter.Normal" ResourceKey="Fluent.Brush.Divider.Default" />
|
||||
<StaticResource x:Key="Lattice.Brush.Splitter.Hover" ResourceKey="Fluent.Brush.Accent.Action" />
|
||||
|
||||
<!-- Кисти состояний -->
|
||||
<StaticResource x:Key="Lattice.Brush.Success" ResourceKey="Fluent.Brush.System.Success" />
|
||||
<StaticResource x:Key="Lattice.Brush.Warning" ResourceKey="Fluent.Brush.System.Warning" />
|
||||
<StaticResource x:Key="Lattice.Brush.Error" ResourceKey="Fluent.Brush.System.Error" />
|
||||
<StaticResource x:Key="Lattice.Brush.Info" ResourceKey="Fluent.Brush.System.Info" />
|
||||
|
||||
<!-- Кисти для перетаскивания -->
|
||||
<SolidColorBrush x:Key="Lattice.Brush.Drag.Overlay"
|
||||
Color="{StaticResource Lattice.Color.Accent}" Opacity="0.3" />
|
||||
<SolidColorBrush x:Key="Lattice.Brush.Drop.Preview"
|
||||
Color="{StaticResource Lattice.Color.Accent}" Opacity="0.2" />
|
||||
<SolidColorBrush x:Key="Lattice.Brush.Drop.Valid"
|
||||
Color="{StaticResource Lattice.Color.Success}" Opacity="0.3" />
|
||||
<SolidColorBrush x:Key="Lattice.Brush.Drop.Invalid"
|
||||
Color="{StaticResource Lattice.Color.Error}" Opacity="0.3" />
|
||||
|
||||
<!-- ============ Geometry ============ -->
|
||||
|
||||
<!-- Радиусы скругления -->
|
||||
<StaticResource x:Key="Lattice.CornerRadius.None" ResourceKey="Fluent.CornerRadius.None" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.Small" ResourceKey="Fluent.CornerRadius.Small" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.Medium" ResourceKey="Fluent.CornerRadius.Medium" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.Large" ResourceKey="Fluent.CornerRadius.Large" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.XLarge" ResourceKey="Fluent.CornerRadius.ExtraLarge" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.Circle" ResourceKey="Fluent.CornerRadius.Circle" />
|
||||
<StaticResource x:Key="Lattice.CornerRadius.Panel" ResourceKey="Fluent.CornerRadius.Panel" />
|
||||
|
||||
<!-- Отступы -->
|
||||
<StaticResource x:Key="Lattice.Spacing.None" ResourceKey="Fluent.Spacing.None" />
|
||||
<StaticResource x:Key="Lattice.Spacing.XSmall" ResourceKey="Fluent.Spacing.ExtraSmall" />
|
||||
<StaticResource x:Key="Lattice.Spacing.Small" ResourceKey="Fluent.Spacing.Small" />
|
||||
<StaticResource x:Key="Lattice.Spacing.Medium" ResourceKey="Fluent.Spacing.Medium" />
|
||||
<StaticResource x:Key="Lattice.Spacing.Large" ResourceKey="Fluent.Spacing.Large" />
|
||||
<StaticResource x:Key="Lattice.Spacing.XLarge" ResourceKey="Fluent.Spacing.ExtraLarge" />
|
||||
<StaticResource x:Key="Lattice.Spacing.XXLarge" ResourceKey="Fluent.Spacing.ExtraExtraLarge" />
|
||||
<StaticResource x:Key="Lattice.Spacing.Panel" ResourceKey="Fluent.Spacing.Panel" />
|
||||
|
||||
<!-- Толщины границ -->
|
||||
<StaticResource x:Key="Lattice.BorderThickness.None" ResourceKey="Fluent.BorderThickness.None" />
|
||||
<StaticResource x:Key="Lattice.BorderThickness.Thin" ResourceKey="Fluent.BorderThickness.Thin" />
|
||||
<StaticResource x:Key="Lattice.BorderThickness.Medium" ResourceKey="Fluent.BorderThickness.Medium" />
|
||||
<StaticResource x:Key="Lattice.BorderThickness.Thick" ResourceKey="Fluent.BorderThickness.Thick" />
|
||||
<StaticResource x:Key="Lattice.BorderThickness.Panel" ResourceKey="Fluent.BorderThickness.Panel" />
|
||||
|
||||
<!-- Размеры -->
|
||||
<StaticResource x:Key="Lattice.Size.Splitter.Width" ResourceKey="Fluent.Size.Splitter.Width" />
|
||||
<StaticResource x:Key="Lattice.IconSize.Small" ResourceKey="Fluent.Size.Icon.Small" />
|
||||
<StaticResource x:Key="Lattice.IconSize.Medium" ResourceKey="Fluent.Size.Icon.Medium" />
|
||||
<StaticResource x:Key="Lattice.IconSize.Large" ResourceKey="Fluent.Size.Icon.Large" />
|
||||
|
||||
<!-- ============ Typography ============ -->
|
||||
|
||||
<!-- Размеры шрифтов -->
|
||||
<StaticResource x:Key="Lattice.FontSize.Caption" ResourceKey="Fluent.FontSize.Caption" />
|
||||
<StaticResource x:Key="Lattice.FontSize.Body" ResourceKey="Fluent.FontSize.Body" />
|
||||
<StaticResource x:Key="Lattice.FontSize.BodyStrong" ResourceKey="Fluent.FontSize.BodyStrong" />
|
||||
<StaticResource x:Key="Lattice.FontSize.Subtitle" ResourceKey="Fluent.FontSize.Subtitle" />
|
||||
<StaticResource x:Key="Lattice.FontSize.Title" ResourceKey="Fluent.FontSize.Title" />
|
||||
<StaticResource x:Key="Lattice.FontSize.TitleLarge" ResourceKey="Fluent.FontSize.TitleLarge" />
|
||||
<StaticResource x:Key="Lattice.FontSize.Display" ResourceKey="Fluent.FontSize.Display" />
|
||||
|
||||
<!-- Высота строк -->
|
||||
<StaticResource x:Key="Lattice.LineHeight.Tight" ResourceKey="Fluent.LineHeight.Tight" />
|
||||
<StaticResource x:Key="Lattice.LineHeight.Normal" ResourceKey="Fluent.LineHeight.Normal" />
|
||||
<StaticResource x:Key="Lattice.LineHeight.Relaxed" ResourceKey="Fluent.LineHeight.Relaxed" />
|
||||
|
||||
<!-- Веса шрифтов -->
|
||||
<StaticResource x:Key="Lattice.FontWeight.Light" ResourceKey="Fluent.FontWeight.Regular" />
|
||||
<StaticResource x:Key="Lattice.FontWeight.Normal" ResourceKey="Fluent.FontWeight.Regular" />
|
||||
<StaticResource x:Key="Lattice.FontWeight.Medium" ResourceKey="Fluent.FontWeight.Medium" />
|
||||
<StaticResource x:Key="Lattice.FontWeight.Semibold" ResourceKey="Fluent.FontWeight.SemiBold" />
|
||||
<StaticResource x:Key="Lattice.FontWeight.Bold" ResourceKey="Fluent.FontWeight.Bold" />
|
||||
|
||||
<!-- ============ Анимации ============ -->
|
||||
|
||||
<!-- Длительности (Fluent Design durations) -->
|
||||
<Duration x:Key="Lattice.Duration.Instant">0:0:0</Duration>
|
||||
<Duration x:Key="Lattice.Duration.Fast">0:0:0.1</Duration>
|
||||
<Duration x:Key="Lattice.Duration.Normal">0:0:0.2</Duration>
|
||||
<Duration x:Key="Lattice.Duration.Slow">0:0:0.3</Duration>
|
||||
|
||||
<!-- Easing Functions (Fluent Design curves) -->
|
||||
<CubicEase x:Key="Lattice.Easing.Linear" EasingMode="EaseInOut" />
|
||||
<CubicEase x:Key="Lattice.Easing.Standard" EasingMode="EaseInOut" />
|
||||
<CubicEase x:Key="Lattice.Easing.Standard.Accelerate" EasingMode="EaseIn" />
|
||||
<CubicEase x:Key="Lattice.Easing.Standard.Decelerate" EasingMode="EaseOut" />
|
||||
<CubicEase x:Key="Lattice.Easing.Emphasized" EasingMode="EaseInOut" />
|
||||
|
||||
<!-- Fluent UI 2 specific easings -->
|
||||
<CubicEase x:Key="Lattice.Easing.Fluent.Accelerate" EasingMode="EaseIn">
|
||||
</CubicEase>
|
||||
|
||||
<CubicEase x:Key="Lattice.Easing.Fluent.Decelerate" EasingMode="EaseOut">
|
||||
</CubicEase>
|
||||
<!-- ============ Miscellaneous ============ -->
|
||||
|
||||
<!-- Прозрачности -->
|
||||
<x:Double x:Key="Lattice.Opacity.Disabled">0.4</x:Double>
|
||||
<x:Double x:Key="Lattice.Opacity.Overlay">0.5</x:Double>
|
||||
<x:Double x:Key="Lattice.Opacity.Drag">0.8</x:Double>
|
||||
<x:Double x:Key="Lattice.Opacity.DropPreview">0.7</x:Double>
|
||||
|
||||
<!-- Z-индексы -->
|
||||
<x:Int32 x:Key="Lattice.ZIndex.Default">0</x:Int32>
|
||||
<x:Int32 x:Key="Lattice.ZIndex.Overlay">1000</x:Int32>
|
||||
<x:Int32 x:Key="Lattice.ZIndex.Dialog">2000</x:Int32>
|
||||
<x:Int32 x:Key="Lattice.ZIndex.Tooltip">3000</x:Int32>
|
||||
<x:Int32 x:Key="Lattice.ZIndex.Drag">4000</x:Int32>
|
||||
<x:Int32 x:Key="Lattice.ZIndex.DropPreview">5000</x:Int32>
|
||||
|
||||
<!-- Размеры теней (Fluent UI 2 shadow depths) -->
|
||||
<x:Double x:Key="Lattice.Shadow.Depth.None">0</x:Double>
|
||||
<x:Double x:Key="Lattice.Shadow.Depth.Small">2</x:Double>
|
||||
<x:Double x:Key="Lattice.Shadow.Depth.Medium">8</x:Double>
|
||||
<x:Double x:Key="Lattice.Shadow.Depth.Large">16</x:Double>
|
||||
</ResourceDictionary>
|
||||
50
Lattice.Themes.Fluent/Typography.xaml
Normal file
50
Lattice.Themes.Fluent/Typography.xaml
Normal file
@@ -0,0 +1,50 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:Microsoft.UI.Xaml.Controls">
|
||||
|
||||
<!-- Fluent UI 2 Font Sizes -->
|
||||
<x:Double x:Key="Fluent.FontSize.Caption">12</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.Body">14</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.BodyStrong">14</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.Subtitle">16</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.Title">20</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.TitleLarge">24</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.Display">28</x:Double>
|
||||
<x:Double x:Key="Fluent.FontSize.DisplayLarge">40</x:Double>
|
||||
|
||||
<!-- Fluent UI 2 Font Weights -->
|
||||
<FontWeight x:Key="Fluent.FontWeight.Regular">Normal</FontWeight>
|
||||
<FontWeight x:Key="Fluent.FontWeight.Medium">Medium</FontWeight>
|
||||
<FontWeight x:Key="Fluent.FontWeight.SemiBold">SemiBold</FontWeight>
|
||||
<FontWeight x:Key="Fluent.FontWeight.Bold">Bold</FontWeight>
|
||||
|
||||
<!-- Fluent UI 2 Line Heights -->
|
||||
<x:Double x:Key="Fluent.LineHeight.None">1</x:Double>
|
||||
<x:Double x:Key="Fluent.LineHeight.Tight">1.2</x:Double>
|
||||
<x:Double x:Key="Fluent.LineHeight.Normal">1.5</x:Double>
|
||||
<x:Double x:Key="Fluent.LineHeight.Relaxed">1.8</x:Double>
|
||||
|
||||
<!-- Fluent UI 2 Font Families -->
|
||||
<FontFamily x:Key="Fluent.FontFamily.Base">Segoe UI</FontFamily>
|
||||
<FontFamily x:Key="Fluent.FontFamily.Monospace">Cascadia Mono</FontFamily>
|
||||
|
||||
<!-- Text Styles -->
|
||||
<Style x:Key="Fluent.TextStyle.Caption" TargetType="TextBlock">
|
||||
<Setter Property="FontSize" Value="{StaticResource Fluent.FontSize.Caption}" />
|
||||
<Setter Property="FontWeight" Value="{StaticResource Fluent.FontWeight.Regular}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Fluent.Brush.Text.Secondary}" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="Fluent.TextStyle.Body" TargetType="TextBlock">
|
||||
<Setter Property="FontSize" Value="{StaticResource Fluent.FontSize.Body}" />
|
||||
<Setter Property="FontWeight" Value="{StaticResource Fluent.FontWeight.Regular}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Fluent.Brush.Text.Primary}" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="Fluent.TextStyle.Title" TargetType="TextBlock">
|
||||
<Setter Property="FontSize" Value="{StaticResource Fluent.FontSize.Title}" />
|
||||
<Setter Property="FontWeight" Value="{StaticResource Fluent.FontWeight.SemiBold}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Fluent.Brush.Text.Primary}" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
Reference in New Issue
Block a user