mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-03-03 00:00:55 +08:00
Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37211a07e7 | ||
|
|
3761a0a3fb | ||
|
|
d906a7754c | ||
|
|
d712f16642 | ||
|
|
947081302a | ||
|
|
28ce72dda9 | ||
|
|
78bc6c370b | ||
|
|
2999beefac | ||
|
|
77a05fb801 | ||
|
|
98dd72e9e3 | ||
|
|
5a954fbca8 | ||
|
|
2da0733bdf | ||
|
|
a5255bd032 | ||
|
|
7530061ca4 | ||
|
|
58c1c365a9 | ||
|
|
b5fe4d92a6 | ||
|
|
5d0116ca8e | ||
|
|
e981fe1c82 | ||
|
|
232ce71677 | ||
|
|
3fceec143d | ||
|
|
a99db733ed | ||
|
|
bb928fb239 | ||
|
|
371eb1b0d3 | ||
|
|
e56ef9d6ca | ||
|
|
0eeba47e88 | ||
|
|
96078a4115 | ||
|
|
26ef3ebf36 | ||
|
|
8615783b61 | ||
|
|
a0ca9fa4d0 | ||
|
|
e6ff4103ef | ||
|
|
2514d919f1 | ||
|
|
7a4b18e14a | ||
|
|
32e5e6b5f2 | ||
|
|
c253154e8f | ||
|
|
8955c83fd9 | ||
|
|
ea51867f0f | ||
|
|
8bb314984e | ||
|
|
af6c52660d | ||
|
|
f6962657fa | ||
|
|
8df91270b1 | ||
|
|
22f61cd836 | ||
|
|
86848b548f | ||
|
|
67fd0c4ca3 | ||
|
|
263c65dd18 | ||
|
|
26bb251d1e | ||
|
|
609dfbb5f0 | ||
|
|
ad4bead1bd | ||
|
|
02444f7f16 | ||
|
|
06d9e35add | ||
|
|
1200c9a1c9 | ||
|
|
7600b187f4 | ||
|
|
c55efe8835 | ||
|
|
1fe4df3716 | ||
|
|
c22211df24 | ||
|
|
6459863395 | ||
|
|
ab824fbcd2 | ||
|
|
e4adde26d2 | ||
|
|
057c31a311 | ||
|
|
ef8531d25d | ||
|
|
c44b9a0173 | ||
|
|
5715bba345 | ||
|
|
96b0999db1 | ||
|
|
ffd9b08acc | ||
|
|
64fd8a787a | ||
|
|
4087b685e8 | ||
|
|
70669406b2 |
7
.github/workflows/deploy.yml
vendored
7
.github/workflows/deploy.yml
vendored
@@ -36,6 +36,7 @@ jobs:
|
||||
- name: Commit wwwroot to GitHub Pages
|
||||
uses: JamesIves/github-pages-deploy-action@v4.5.0
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BRANCH: gh-pages
|
||||
FOLDER: ${{ env.OUTPUT_PATH }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: gh-pages
|
||||
folder: ${{ env.OUTPUT_PATH }}
|
||||
single-commit: true
|
||||
10
.github/workflows/publish.yml
vendored
10
.github/workflows/publish.yml
vendored
@@ -44,17 +44,17 @@ jobs:
|
||||
Compress-Archive -Path $files.FullName -DestinationPath ./upload/Semi.Avalonia.Demo.Desktop.win-x64.zip
|
||||
|
||||
- name: Enable Native AOT in .csproj
|
||||
if: ${{ github.event.inputs.include_aot == true }}
|
||||
if: ${{ github.event.inputs.include_aot == 'true' }}
|
||||
run: |
|
||||
sed -i 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
sed -i 's#<!--<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>-->#<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
|
||||
- name: Publish win-x64 AOT
|
||||
if: ${{ github.event.inputs.include_aot == true }}
|
||||
if: ${{ github.event.inputs.include_aot == 'true' }}
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o ./publish/win64-aot
|
||||
|
||||
- name: Zip win-x64 AOT
|
||||
if: ${{ github.event.inputs.include_aot == true }}
|
||||
if: ${{ github.event.inputs.include_aot == 'true' }}
|
||||
run: |
|
||||
$files = Get-ChildItem -Path ./publish/win64-aot/* -Recurse -Exclude *.pdb
|
||||
Compress-Archive -Path $files.FullName -DestinationPath ./upload/Semi.Avalonia.Demo.Desktop.win-x64.NativeAOT.zip
|
||||
@@ -82,11 +82,11 @@ jobs:
|
||||
run: zip -j -r ./upload/Semi.Avalonia.Demo.Desktop.linux-x64.zip ./publish/linux64 -x "*.pdb"
|
||||
|
||||
- name: Publish linux-x64 DRM
|
||||
if: ${{ github.event.inputs.include_drm == true }}
|
||||
if: ${{ github.event.inputs.include_drm == 'true' }}
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Drm -r linux-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/drm
|
||||
|
||||
- name: Zip linux-x64 DRM
|
||||
if: ${{ github.event.inputs.include_drm == true }}
|
||||
if: ${{ github.event.inputs.include_drm == 'true' }}
|
||||
run: zip -j -r ./upload/Semi.Avalonia.Demo.Drm.linux-x64.zip ./publish/drm -x "*.pdb"
|
||||
|
||||
- name: Upload a Build Artifact
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Nullable>enable</Nullable>
|
||||
<AvaloniaVersion>11.2.2</AvaloniaVersion>
|
||||
<CommunityToolkitVersion>8.3.2</CommunityToolkitVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AvaloniaVersion>11.2.3</AvaloniaVersion>
|
||||
<CommunityToolkitVersion>8.4.0</CommunityToolkitVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
using Avalonia;
|
||||
using System;
|
||||
using Avalonia;
|
||||
using Avalonia.Dialogs;
|
||||
using Avalonia.Media;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Desktop;
|
||||
|
||||
class Program
|
||||
sealed class Program
|
||||
{
|
||||
// Initialization code. Don't use any Avalonia, third-party APIs or any
|
||||
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
|
||||
@@ -33,4 +31,4 @@ class Program
|
||||
.UsePlatformDetect()
|
||||
.With(new Win32PlatformOptions())
|
||||
.LogToTrace();
|
||||
}
|
||||
}
|
||||
@@ -19,16 +19,14 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TrimmerRootDescriptor Include="Roots.xml" />
|
||||
<TrimmerRootDescriptor Include="Roots.xml"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Semi.Avalonia.Demo\Semi.Avalonia.Demo.csproj" />
|
||||
<ProjectReference Include="..\Semi.Avalonia.Demo\Semi.Avalonia.Demo.csproj"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -7,7 +7,7 @@ using Avalonia.Dialogs;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Drm;
|
||||
|
||||
class Program
|
||||
sealed class Program
|
||||
{
|
||||
// Initialization code. Don't use any Avalonia, third-party APIs or any
|
||||
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
|
||||
|
||||
@@ -19,17 +19,15 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TrimmerRootDescriptor Include="Roots.xml" />
|
||||
<TrimmerRootDescriptor Include="Roots.xml"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia.LinuxFramebuffer" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)"/>
|
||||
<PackageReference Include="Avalonia.LinuxFramebuffer" Version="$(AvaloniaVersion)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Semi.Avalonia.Demo\Semi.Avalonia.Demo.csproj" />
|
||||
<ProjectReference Include="..\Semi.Avalonia.Demo\Semi.Avalonia.Demo.csproj"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<TargetFramework>net8.0-browser</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 162 KiB |
@@ -6,6 +6,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="./app.css" />
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; overflow: hidden">
|
||||
|
||||
@@ -2,13 +2,35 @@
|
||||
x:Class="Semi.Avalonia.Demo.App"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:semi="https://irihi.tech/semi">
|
||||
x:CompileBindings="True"
|
||||
x:DataType="viewModels:ApplicationViewModel"
|
||||
xmlns:semi="https://irihi.tech/semi"
|
||||
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels">
|
||||
<Application.Styles>
|
||||
<!-- You can still reference in old way. -->
|
||||
<!-- <StyleInclude Source="avares://Semi.Avalonia/Index.axaml" /> -->
|
||||
<semi:SemiTheme Locale="zh-CN" />
|
||||
<semi:SemiPopupAnimations/>
|
||||
<semi:SemiPopupAnimations />
|
||||
<StyleInclude Source="avares://Semi.Avalonia.DataGrid/Index.axaml" />
|
||||
<StyleInclude Source="avares://Semi.Avalonia.ColorPicker/Index.axaml" />
|
||||
</Application.Styles>
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude
|
||||
Source="Themes/_index.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
<TrayIcon.Icons>
|
||||
<TrayIcons>
|
||||
<TrayIcon Icon="/Assets/irihi.ico" MacOSProperties.IsTemplateIcon="true" ToolTipText="Semi Avalonia Demo">
|
||||
<TrayIcon.Menu>
|
||||
<NativeMenu>
|
||||
<NativeMenuItem Header="Exit" Command="{Binding ExitCommand}" />
|
||||
</NativeMenu>
|
||||
</TrayIcon.Menu>
|
||||
</TrayIcon>
|
||||
</TrayIcons>
|
||||
</TrayIcon.Icons>
|
||||
</Application>
|
||||
@@ -2,6 +2,7 @@ using Avalonia;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Data.Core.Plugins;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Semi.Avalonia.Demo.ViewModels;
|
||||
using Semi.Avalonia.Demo.Views;
|
||||
|
||||
namespace Semi.Avalonia.Demo;
|
||||
@@ -11,6 +12,7 @@ public partial class App : Application
|
||||
public override void Initialize()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
this.DataContext = new ApplicationViewModel();
|
||||
}
|
||||
|
||||
public override void OnFrameworkInitializationCompleted()
|
||||
@@ -28,6 +30,7 @@ public partial class App : Application
|
||||
break;
|
||||
}
|
||||
|
||||
this.RegisterFollowSystemTheme();
|
||||
base.OnFrameworkInitializationCompleted();
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 172 KiB |
BIN
demo/Semi.Avalonia.Demo/Assets/irihi.ico
Normal file
BIN
demo/Semi.Avalonia.Demo/Assets/irihi.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 162 KiB |
143
demo/Semi.Avalonia.Demo/Constant/ColorTokens.cs
Normal file
143
demo/Semi.Avalonia.Demo/Constant/ColorTokens.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Constant;
|
||||
|
||||
public static class ColorTokens
|
||||
{
|
||||
public static IReadOnlyList<Tuple<string, string>> PrimaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorPrimary", "Primary"),
|
||||
new("SemiColorPrimaryPointerover", "Primary Pointerover"),
|
||||
new("SemiColorPrimaryActive", "Primary Active"),
|
||||
new("SemiColorPrimaryDisabled", "Primary Disabled"),
|
||||
new("SemiColorPrimaryLight", "Primary Light"),
|
||||
new("SemiColorPrimaryLightPointerover", "Primary Light Pointerover"),
|
||||
new("SemiColorPrimaryLightActive", "Primary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> SecondaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorSecondary", "Secondary"),
|
||||
new("SemiColorSecondaryPointerover", "Secondary Pointerover"),
|
||||
new("SemiColorSecondaryActive", "Secondary Active"),
|
||||
new("SemiColorSecondaryDisabled", "Secondary Disabled"),
|
||||
new("SemiColorSecondaryLight", "Secondary Light"),
|
||||
new("SemiColorSecondaryLightPointerover", "Secondary Light Pointerover"),
|
||||
new("SemiColorSecondaryLightActive", "Secondary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> TertiaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorTertiary", "Tertiary"),
|
||||
new("SemiColorTertiaryPointerover", "Tertiary Pointerover"),
|
||||
new("SemiColorTertiaryActive", "Tertiary Active"),
|
||||
new("SemiColorTertiaryLight", "Tertiary Light"),
|
||||
new("SemiColorTertiaryLightPointerover", "Tertiary Light Pointerover"),
|
||||
new("SemiColorTertiaryLightActive", "Tertiary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> InformationTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorInformation", "Information"),
|
||||
new("SemiColorInformationPointerover", "Information Pointerover"),
|
||||
new("SemiColorInformationActive", "Information Active"),
|
||||
new("SemiColorInformationDisabled", "Information Disabled"),
|
||||
new("SemiColorInformationLight", "Information Light"),
|
||||
new("SemiColorInformationLightPointerover", "Information Light Pointerover"),
|
||||
new("SemiColorInformationLightActive", "Information Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> SuccessTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorSuccess", "Success"),
|
||||
new("SemiColorSuccessPointerover", "Success Pointerover"),
|
||||
new("SemiColorSuccessActive", "Success Active"),
|
||||
new("SemiColorSuccessDisabled", "Success Disabled"),
|
||||
new("SemiColorSuccessLight", "Success Light"),
|
||||
new("SemiColorSuccessLightPointerover", "Success Light Pointerover"),
|
||||
new("SemiColorSuccessLightActive", "Success Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> WarningTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorWarning", "Warning"),
|
||||
new("SemiColorWarningPointerover", "Warning Pointerover"),
|
||||
new("SemiColorWarningActive", "Warning Active"),
|
||||
new("SemiColorWarningLight", "Warning Light"),
|
||||
new("SemiColorWarningLightPointerover", "Warning Light Pointerover"),
|
||||
new("SemiColorWarningLightActive", "Warning Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> DangerTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorDanger", "Danger"),
|
||||
new("SemiColorDangerPointerover", "Danger Pointerover"),
|
||||
new("SemiColorDangerActive", "Danger Active"),
|
||||
new("SemiColorDangerLight", "Danger Light"),
|
||||
new("SemiColorDangerLightPointerover", "Danger Light Pointerover"),
|
||||
new("SemiColorDangerLightActive", "Danger Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> TextTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorText0", "Text 0"),
|
||||
new("SemiColorText1", "Text 1"),
|
||||
new("SemiColorText2", "Text 2"),
|
||||
new("SemiColorText3", "Text 3"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> LinkTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorLink", "Link"),
|
||||
new("SemiColorLinkPointerover", "Link Pointerover"),
|
||||
new("SemiColorLinkActive", "Link Active"),
|
||||
new("SemiColorLinkVisited", "Link Visited"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> BackgroundTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorBackground0", "Background 0"),
|
||||
new("SemiColorBackground1", "Background 1"),
|
||||
new("SemiColorBackground2", "Background 2"),
|
||||
new("SemiColorBackground3", "Background 3"),
|
||||
new("SemiColorBackground4", "Background 4"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> FillTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorFill0", "Fill 0"),
|
||||
new("SemiColorFill1", "Fill 1"),
|
||||
new("SemiColorFill2", "Fill 2"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> BorderTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorBorder", "Border"),
|
||||
new("SemiColorFocusBorder", "Focus Border"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> DisabledTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorDisabledText", "Disabled Text"),
|
||||
new("SemiColorDisabledBorder", "Disabled Border"),
|
||||
new("SemiColorDisabledBackground", "Disabled Background"),
|
||||
new("SemiColorDisabledFill", "Disabled Fill"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> OtherTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorWhite", "White"),
|
||||
new("SemiColorBlack", "Black"),
|
||||
new("SemiColorNavBackground", "Navigation Background"),
|
||||
new("SemiColorOverlayBackground", "Overlay Background"),
|
||||
new("SemiColorHighlightBackground", "Highlight Background"),
|
||||
new("SemiColorHighlight", "Highlight Text"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> ShadowTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorShadow", "Shadow"),
|
||||
new("SemiShadowElevated", "Shadow Elevated"),
|
||||
};
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.Globalization;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Media;
|
||||
using Semi.Avalonia.Demo.Converters;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Controls;
|
||||
|
||||
@@ -10,6 +12,7 @@ public class ColorDetailControl : TemplatedControl
|
||||
{
|
||||
public const string KEY_ResourceKey = "ResourceKey";
|
||||
public const string KEY_Hex = "Hex";
|
||||
public const string KEY_Hex2 = "Hex2";
|
||||
public const string KEY_Opacity = "Opacity";
|
||||
public const string KEY_ColorResourceKey = "ColorResourceKey";
|
||||
|
||||
@@ -51,6 +54,17 @@ public class ColorDetailControl : TemplatedControl
|
||||
private set => SetAndRaise(HexProperty, ref _hex, value);
|
||||
}
|
||||
|
||||
private string? _hex2;
|
||||
|
||||
public static readonly DirectProperty<ColorDetailControl, string?> Hex2Property =
|
||||
AvaloniaProperty.RegisterDirect<ColorDetailControl, string?>(nameof(Hex2), o => o.Hex2);
|
||||
|
||||
public string? Hex2
|
||||
{
|
||||
get => _hex2;
|
||||
set => SetAndRaise(Hex2Property, ref _hex2, value);
|
||||
}
|
||||
|
||||
public static readonly DirectProperty<ColorDetailControl, string?> OpacityNumberProperty =
|
||||
AvaloniaProperty.RegisterDirect<ColorDetailControl, string?>(nameof(OpacityNumber), o => o.OpacityNumber);
|
||||
|
||||
@@ -70,34 +84,30 @@ public class ColorDetailControl : TemplatedControl
|
||||
private void OnBackgroundChanged(AvaloniaPropertyChangedEventArgs args)
|
||||
{
|
||||
var color = args.GetNewValue<IBrush>();
|
||||
if (color is ISolidColorBrush b)
|
||||
if (color is ISolidColorBrush brush)
|
||||
{
|
||||
Hex = b.Color.ToString().ToUpperInvariant();
|
||||
OpacityNumber = b.Opacity.ToString(CultureInfo.InvariantCulture);
|
||||
var hex1 = ColorConverter.ToHex.Convert(brush.Color, typeof(string), false, CultureInfo.InvariantCulture);
|
||||
var hex2 = ColorConverter.ToHex.Convert(brush.Color, typeof(string), true, CultureInfo.InvariantCulture);
|
||||
Hex = hex1 as string;
|
||||
Hex2 = hex2 as string;
|
||||
OpacityNumber = brush.Opacity.ToString(CultureInfo.InvariantCulture);
|
||||
}
|
||||
}
|
||||
|
||||
public async void Copy(object o)
|
||||
public async Task Copy(object o)
|
||||
{
|
||||
string? text = null;
|
||||
if (o is string s)
|
||||
{
|
||||
switch (s)
|
||||
text = s switch
|
||||
{
|
||||
case KEY_ResourceKey:
|
||||
text = ResourceKey;
|
||||
break;
|
||||
case KEY_Hex:
|
||||
text = Hex;
|
||||
break;
|
||||
case KEY_Opacity:
|
||||
text = OpacityNumber;
|
||||
break;
|
||||
case KEY_ColorResourceKey:
|
||||
text = ColorResourceKey;
|
||||
break;
|
||||
default: text = string.Empty; break;
|
||||
}
|
||||
KEY_ResourceKey => ResourceKey,
|
||||
KEY_Hex => Hex,
|
||||
KEY_Hex2 => Hex2,
|
||||
KEY_Opacity => OpacityNumber,
|
||||
KEY_ColorResourceKey => ColorResourceKey,
|
||||
_ => string.Empty
|
||||
};
|
||||
}
|
||||
|
||||
var toplevel = TopLevel.GetTopLevel(this);
|
||||
|
||||
22
demo/Semi.Avalonia.Demo/Converters/ColorConverter.cs
Normal file
22
demo/Semi.Avalonia.Demo/Converters/ColorConverter.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using Avalonia.Data.Converters;
|
||||
using Avalonia.Media;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Converters;
|
||||
|
||||
public static class ColorConverter
|
||||
{
|
||||
public static readonly IValueConverter ToHex =
|
||||
new FuncValueConverter<object, bool, string>(
|
||||
(obj, withAlpha) =>
|
||||
obj switch
|
||||
{
|
||||
Color color => withAlpha
|
||||
? $"#{color.A:X2}{color.R:X2}{color.G:X2}{color.B:X2}"
|
||||
: $"#{color.R:X2}{color.G:X2}{color.B:X2}",
|
||||
ISolidColorBrush brush => withAlpha
|
||||
? $"#{brush.Color.A:X2}{brush.Color.R:X2}{brush.Color.G:X2}{brush.Color.B:X2}"
|
||||
: $"#{brush.Color.R:X2}{brush.Color.G:X2}{brush.Color.B:X2}",
|
||||
_ => string.Empty
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -4,21 +4,15 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
|
||||
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
|
||||
xmlns:cvt="clr-namespace:Semi.Avalonia.Demo.Converters"
|
||||
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
|
||||
mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="1450"
|
||||
x:DataType="vm:HighContrastDemoViewModel"
|
||||
x:CompileBindings="True"
|
||||
x:Class="Semi.Avalonia.Demo.Pages.HighContrastDemo">
|
||||
<Design.DataContext>
|
||||
<vm:HighContrastDemoViewModel />
|
||||
</Design.DataContext>
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="../Themes/ToggleSwitch.axaml" />
|
||||
<ResourceInclude Source="../Controls/ColorItemControl.axaml" />
|
||||
<ResourceInclude Source="../Controls/ColorDetailControl.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<SplitView
|
||||
Name="splitView"
|
||||
CompactPaneLength="50"
|
||||
@@ -32,7 +26,8 @@
|
||||
Name="toggle"
|
||||
HorizontalAlignment="Right"
|
||||
IsChecked="True"
|
||||
Theme="{DynamicResource SplitViewToggleSwitch}" />
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Content="{StaticResource SemiIconSidebar}" />
|
||||
<Border IsVisible="{Binding #splitView.IsPaneOpen}" Theme="{DynamicResource CardBorder}">
|
||||
<Panel>
|
||||
<TextBlock
|
||||
@@ -285,7 +280,8 @@
|
||||
<SelectableTextBlock
|
||||
Margin="12 0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Hex}" />
|
||||
Text="{Binding Brush,
|
||||
Converter={x:Static cvt:ColorConverter.ToHex},ConverterParameter={x:False}}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
@@ -311,6 +307,18 @@
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
|
||||
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:ColorResource">
|
||||
<Button
|
||||
Command="{Binding $parent[pages:HighContrastDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</StackPanel>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia.Controls;
|
||||
using Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
@@ -10,4 +11,14 @@ public partial class HighContrastDemo : UserControl
|
||||
InitializeComponent();
|
||||
this.DataContext = new HighContrastDemoViewModel();
|
||||
}
|
||||
|
||||
public async Task Copy(object? o)
|
||||
{
|
||||
if (o is null) return;
|
||||
var toplevel = TopLevel.GetTopLevel(this);
|
||||
if (toplevel?.Clipboard is { } c)
|
||||
{
|
||||
await c.SetTextAsync(o.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -119,11 +119,11 @@
|
||||
<StackPanel Spacing="20">
|
||||
<TextBlock Text="Theme: CheckGroupListBox"/>
|
||||
<ListBox
|
||||
SelectionMode="Multiple"
|
||||
SelectionMode="Multiple,Toggle"
|
||||
Theme="{DynamicResource CheckGroupListBox}"
|
||||
ItemsSource="{Binding $parent[local:ListBoxDemo].Items}" />
|
||||
<ListBox Theme="{DynamicResource CheckGroupListBox}"
|
||||
SelectionMode="Multiple"
|
||||
SelectionMode="Multiple,Toggle"
|
||||
IsEnabled="False">
|
||||
<ListBoxItem IsSelected="True">Avalonia</ListBoxItem>
|
||||
<ListBoxItem>WPF</ListBoxItem>
|
||||
@@ -131,11 +131,11 @@
|
||||
|
||||
<TextBlock Text="Theme: CardCheckGroupListBox"/>
|
||||
<ListBox
|
||||
SelectionMode="Multiple"
|
||||
SelectionMode="Multiple,Toggle"
|
||||
Theme="{DynamicResource CardCheckGroupListBox}"
|
||||
ItemsSource="{Binding $parent[local:ListBoxDemo].Items}" />
|
||||
<ListBox Theme="{DynamicResource CardCheckGroupListBox}"
|
||||
SelectionMode="Multiple"
|
||||
SelectionMode="Multiple,Toggle"
|
||||
IsEnabled="False">
|
||||
<ListBoxItem>Avalonia</ListBoxItem>
|
||||
<ListBoxItem IsSelected="True">WPF</ListBoxItem>
|
||||
|
||||
@@ -9,18 +9,18 @@ public partial class Overview : UserControl
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public string MainInstall { get; set; } = "dotnet add package Semi.Avalonia --version 11.2.1.2";
|
||||
public string MainInstall { get; set; } = "dotnet add package Semi.Avalonia --version 11.2.1.5";
|
||||
|
||||
public string MainStyle { get; set; } =
|
||||
"""
|
||||
<Application.Styles>
|
||||
<!-- You can still reference in old way. -->
|
||||
<!-- <StyleInclude Source="avares://Semi.Avalonia/Themes/Index.axaml" /> -->
|
||||
<semi:SemiTheme Locale="zh-cn" />
|
||||
<!-- <StyleInclude Source="avares://Semi.Avalonia/Index.axaml" /> -->
|
||||
<semi:SemiTheme Locale="zh-CN" />
|
||||
</Application.Styles>
|
||||
""";
|
||||
|
||||
public string ColorPickerInstall { get; set; } = "dotnet add package Semi.Avalonia.ColorPicker --version 11.2.1.2";
|
||||
public string ColorPickerInstall { get; set; } = "dotnet add package Semi.Avalonia.ColorPicker --version 11.2.1.5";
|
||||
|
||||
public string ColorPickerStyle { get; set; } =
|
||||
"""
|
||||
@@ -29,7 +29,7 @@ public partial class Overview : UserControl
|
||||
</Application.Styles>
|
||||
""";
|
||||
|
||||
public string DataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.DataGrid --version 11.2.1.2";
|
||||
public string DataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.DataGrid --version 11.2.1.5";
|
||||
|
||||
public string DataGridStyle { get; set; } =
|
||||
"""
|
||||
|
||||
@@ -14,17 +14,6 @@
|
||||
<Design.DataContext>
|
||||
<viewModels:PaletteDemoViewModel />
|
||||
</Design.DataContext>
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="../Themes/ToggleSwitch.axaml" />
|
||||
<ResourceInclude Source="../Controls/ColorItemControl.axaml" />
|
||||
<ResourceInclude Source="../Controls/ColorDetailControl.axaml" />
|
||||
<ResourceInclude Source="../Controls/FunctionalColorGroupControl.axaml" />
|
||||
<ResourceInclude Source="../Controls/ShadowGroupControl.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<SplitView
|
||||
Name="splitView"
|
||||
CompactPaneLength="50"
|
||||
@@ -38,7 +27,8 @@
|
||||
Name="toggle"
|
||||
HorizontalAlignment="Right"
|
||||
IsChecked="True"
|
||||
Theme="{DynamicResource SplitViewToggleSwitch}" />
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Content="{StaticResource SemiIconSidebar}" />
|
||||
<Border IsVisible="{Binding #splitView.IsPaneOpen}" Theme="{DynamicResource CardBorder}">
|
||||
<Panel>
|
||||
<TextBlock
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Threading;
|
||||
using Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
@@ -16,13 +14,20 @@ public partial class PaletteDemo : UserControl
|
||||
this.DataContext = new PaletteDemoViewModel();
|
||||
}
|
||||
|
||||
protected override async void OnApplyTemplate(TemplateAppliedEventArgs e)
|
||||
protected override async void OnApplyTemplate(TemplateAppliedEventArgs e)
|
||||
{
|
||||
base.OnApplyTemplate(e);
|
||||
PaletteDemoViewModel? vm = this.DataContext as PaletteDemoViewModel;
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
await Dispatcher.UIThread.InvokeAsync(() => { vm?.InitializeResources(); });
|
||||
}
|
||||
|
||||
public async Task Copy(object? o)
|
||||
{
|
||||
if (o is null) return;
|
||||
var toplevel = TopLevel.GetTopLevel(this);
|
||||
if (toplevel?.Clipboard is { } c)
|
||||
{
|
||||
vm?.InitializeResources();
|
||||
});
|
||||
await c.SetTextAsync(o.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -109,7 +109,8 @@
|
||||
ItemsSource="{Binding Songs}" />
|
||||
<ToggleSwitch
|
||||
Grid.Row="2"
|
||||
Theme="{DynamicResource SplitViewToggleSwitch}"
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Content="{StaticResource SemiIconSidebar}"
|
||||
HorizontalAlignment="Left"
|
||||
IsChecked="{Binding #SplitView.IsPaneOpen}">
|
||||
</ToggleSwitch>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ToggleSwitch Content="Switch" OnContent="Yes" OffContent="No" />
|
||||
<ToggleSwitch Content="Switch" OnContent="Yes" OffContent="No" IsChecked="True"/>
|
||||
<ToggleSwitch Content="Switch" OnContent="Yes" OffContent="No" IsChecked="True" />
|
||||
<ToggleSwitch Content="Switch" OnContent="Yes" OffContent="No" IsEnabled="False" />
|
||||
<ToggleSwitch Content="Switch" OnContent="Yes" OffContent="No" IsEnabled="False" IsChecked="True" />
|
||||
</StackPanel>
|
||||
@@ -64,7 +64,9 @@
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ToggleSwitch
|
||||
HorizontalAlignment="Left"
|
||||
Padding="8"
|
||||
Padding="{StaticResource SemiThicknessTight}"
|
||||
Width="{StaticResource SemiSpacingExtraLoose}"
|
||||
Height="{StaticResource SemiSpacingExtraLoose}"
|
||||
Theme="{DynamicResource ButtonToggleSwitch}"
|
||||
Foreground="{DynamicResource ButtonDefaultTertiaryForeground}">
|
||||
<ToggleSwitch.Content>
|
||||
@@ -75,7 +77,9 @@
|
||||
</ToggleSwitch>
|
||||
<ToggleSwitch
|
||||
HorizontalAlignment="Left"
|
||||
Padding="8"
|
||||
Padding="{StaticResource SemiThicknessTight}"
|
||||
Width="{StaticResource SemiSpacingExtraLoose}"
|
||||
Height="{StaticResource SemiSpacingExtraLoose}"
|
||||
Theme="{DynamicResource ButtonToggleSwitch}"
|
||||
Foreground="{DynamicResource ButtonDefaultTertiaryForeground}">
|
||||
<ToggleSwitch.OnContent>
|
||||
|
||||
94
demo/Semi.Avalonia.Demo/Pages/VariablesDemo.axaml
Normal file
94
demo/Semi.Avalonia.Demo/Pages/VariablesDemo.axaml
Normal file
@@ -0,0 +1,94 @@
|
||||
<UserControl xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
|
||||
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Semi.Avalonia.Demo.Pages.VariablesDemo"
|
||||
x:DataType="vm:VariablesDemoViewModel"
|
||||
x:CompileBindings="True">
|
||||
<Design.DataContext>
|
||||
<vm:VariablesDemoViewModel />
|
||||
</Design.DataContext>
|
||||
<DataGrid
|
||||
Margin="8"
|
||||
CanUserReorderColumns="True"
|
||||
CanUserResizeColumns="True"
|
||||
CanUserSortColumns="True"
|
||||
HeadersVisibility="All"
|
||||
IsReadOnly="True"
|
||||
ItemsSource="{Binding GridData}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn
|
||||
Width="300"
|
||||
x:DataType="vm:VariableItem"
|
||||
Header="ResourceKey">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:VariableItem">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ResourceKey}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn
|
||||
Width="200"
|
||||
x:DataType="vm:VariableItem"
|
||||
Header="Type">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:VariableItem">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Type.Name}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn
|
||||
Width="200"
|
||||
x:DataType="vm:VariableItem"
|
||||
Header="Value">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:VariableItem">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Value}"
|
||||
TextWrapping="Wrap" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn
|
||||
Width="*"
|
||||
x:DataType="vm:VariableItem"
|
||||
Header="Description">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:VariableItem">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Description}"
|
||||
TextWrapping="Wrap" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn
|
||||
Width="100"
|
||||
x:DataType="vm:VariableItem"
|
||||
Header="CopyText"
|
||||
SortMemberPath="Duration">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="vm:VariableItem">
|
||||
<Button
|
||||
Command="{Binding $parent[pages:VariablesDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</UserControl>
|
||||
24
demo/Semi.Avalonia.Demo/Pages/VariablesDemo.axaml.cs
Normal file
24
demo/Semi.Avalonia.Demo/Pages/VariablesDemo.axaml.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia.Controls;
|
||||
using Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
namespace Semi.Avalonia.Demo.Pages;
|
||||
|
||||
public partial class VariablesDemo : UserControl
|
||||
{
|
||||
public VariablesDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new VariablesDemoViewModel();
|
||||
}
|
||||
|
||||
public async Task Copy(object? o)
|
||||
{
|
||||
if (o is null) return;
|
||||
var toplevel = TopLevel.GetTopLevel(this);
|
||||
if (toplevel?.Clipboard is { } c)
|
||||
{
|
||||
await c.SetTextAsync(o.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,22 +4,26 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Include="Assets\**" />
|
||||
<AvaloniaResource Include="Assets\**"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)"/>
|
||||
<PackageReference Include="Avalonia.Controls.ColorPicker" Version="$(AvaloniaVersion)"/>
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)"/>
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)" />
|
||||
<PackageReference Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)">
|
||||
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
|
||||
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.ColorPicker\Semi.Avalonia.ColorPicker.csproj" />
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.DataGrid\Semi.Avalonia.DataGrid.csproj" />
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj" />
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.ColorPicker\Semi.Avalonia.ColorPicker.csproj"/>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.DataGrid\Semi.Avalonia.DataGrid.csproj"/>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<ResourceDictionary
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls">
|
||||
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
|
||||
x:CompileBindings="True">
|
||||
<ControlTheme x:Key="{x:Type controls:ColorDetailControl}" TargetType="controls:ColorDetailControl">
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="controls:ColorDetailControl">
|
||||
@@ -16,7 +17,7 @@
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="{TemplateBinding Background}"
|
||||
CornerRadius="6" />
|
||||
<Grid ColumnDefinitions="*, Auto" RowDefinitions="*, *, *, *, *, *, *">
|
||||
<Grid ColumnDefinitions="*, Auto" RowDefinitions="*, *, *, *, *, *, *, *">
|
||||
<!-- Row 0-1-2 ResourceKey -->
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
@@ -33,38 +34,26 @@
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Classes="Tertiary"
|
||||
Padding="8"
|
||||
Command="{Binding $parent[controls:ColorDetailControl].Copy}"
|
||||
CommandParameter="{x:Static controls:ColorDetailControl.KEY_ResourceKey}"
|
||||
Theme="{DynamicResource BorderlessButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{StaticResource SemiIconCopy}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
<SelectableTextBlock
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ColorResourceKey, Converter={x:Static ObjectConverters.IsNotNull}}"
|
||||
IsVisible="{TemplateBinding ColorResourceKey, Converter={x:Static ObjectConverters.IsNotNull}}"
|
||||
Text="{TemplateBinding ColorResourceKey}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Classes="Tertiary"
|
||||
Padding="8"
|
||||
Command="{Binding $parent[controls:ColorDetailControl].Copy}"
|
||||
CommandParameter="{x:Static controls:ColorDetailControl.KEY_ColorResourceKey}"
|
||||
IsVisible="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ColorResourceKey, Converter={x:Static ObjectConverters.IsNotNull}}"
|
||||
Theme="{DynamicResource BorderlessButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{StaticResource SemiIconCopy}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
IsVisible="{TemplateBinding ColorResourceKey, Converter={x:Static ObjectConverters.IsNotNull}}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
|
||||
<!-- Row 3-4 HEX -->
|
||||
<!-- Row 3-4-5 HEX -->
|
||||
<TextBlock
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
@@ -72,7 +61,7 @@
|
||||
Margin="4,8,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Classes="Tertiary"
|
||||
Text="ARGB" />
|
||||
Text="Hex" />
|
||||
<SelectableTextBlock
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
@@ -81,47 +70,48 @@
|
||||
<Button
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Classes="Tertiary"
|
||||
Padding="8"
|
||||
Command="{Binding $parent[controls:ColorDetailControl].Copy}"
|
||||
CommandParameter="{x:Static controls:ColorDetailControl.KEY_Hex}"
|
||||
Theme="{DynamicResource BorderlessButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{StaticResource SemiIconCopy}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
|
||||
<!-- Row 5-6 Opacity -->
|
||||
<TextBlock
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
<SelectableTextBlock
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{TemplateBinding Hex2}" />
|
||||
<Button
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Command="{Binding $parent[controls:ColorDetailControl].Copy}"
|
||||
CommandParameter="{x:Static controls:ColorDetailControl.KEY_Hex2}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
|
||||
<!-- Row 6-7 Opacity -->
|
||||
<TextBlock
|
||||
Grid.Row="6"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="4,8,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Classes="Tertiary"
|
||||
Text="Opacity" />
|
||||
<SelectableTextBlock
|
||||
Grid.Row="6"
|
||||
Grid.Row="7"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{TemplateBinding OpacityNumber}" />
|
||||
<Button
|
||||
Grid.Row="6"
|
||||
Grid.Row="7"
|
||||
Grid.Column="1"
|
||||
Classes="Tertiary"
|
||||
Padding="8"
|
||||
Command="{Binding $parent[controls:ColorDetailControl].Copy}"
|
||||
CommandParameter="{x:Static controls:ColorDetailControl.KEY_Opacity}"
|
||||
Theme="{DynamicResource BorderlessButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{StaticResource SemiIconCopy}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +1,8 @@
|
||||
<ResourceDictionary
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="using:Semi.Avalonia.Demo.Controls">
|
||||
xmlns:controls="using:Semi.Avalonia.Demo.Controls"
|
||||
x:CompileBindings="True">
|
||||
<Design.PreviewWith>
|
||||
<controls:ColorItemControl />
|
||||
</Design.PreviewWith>
|
||||
@@ -3,6 +3,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
|
||||
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
|
||||
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="viewModels:FunctionalColorGroupViewModel">
|
||||
<ControlTheme x:Key="{x:Type controls:FunctionalColorGroupControl}" TargetType="controls:FunctionalColorGroupControl">
|
||||
@@ -30,27 +31,21 @@
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn Width="*" Header="ResourceKey">
|
||||
<DataGridTemplateColumn Width="300" Header="ResourceKey">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ResourceKey}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ColorItemViewModel"
|
||||
Binding="{Binding ColorDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Name" />
|
||||
<DataGridTemplateColumn Width="100" Header="Hex">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Hex}" />
|
||||
</DataTemplate>
|
||||
@@ -60,13 +55,29 @@
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Brush.Opacity}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ColorItemViewModel"
|
||||
Binding="{Binding ColorDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Description" />
|
||||
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<Button
|
||||
Command="{Binding $parent[pages:PaletteDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</TabItem>
|
||||
@@ -84,27 +95,21 @@
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn Width="*" Header="ResourceKey">
|
||||
<DataGridTemplateColumn Width="300" Header="ResourceKey">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ResourceKey}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ColorItemViewModel"
|
||||
Binding="{Binding ColorDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Name" />
|
||||
<DataGridTemplateColumn Width="100" Header="Hex">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Hex}" />
|
||||
</DataTemplate>
|
||||
@@ -114,13 +119,29 @@
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding Brush.Opacity}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ColorItemViewModel"
|
||||
Binding="{Binding ColorDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Description" />
|
||||
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ColorItemViewModel">
|
||||
<Button
|
||||
Command="{Binding $parent[pages:PaletteDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</TabItem>
|
||||
@@ -3,6 +3,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
|
||||
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
|
||||
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
|
||||
x:CompileBindings="True"
|
||||
x:DataType="viewModels:ShadowGroupViewModel">
|
||||
<ControlTheme x:Key="{x:Type controls:ShadowGroupControl}" TargetType="controls:ShadowGroupControl">
|
||||
@@ -19,29 +20,40 @@
|
||||
<TabItem Header="Light">
|
||||
<DataGrid IsReadOnly="True" ItemsSource="{TemplateBinding LightShadows}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn Width="*" Header="ResourceKey">
|
||||
<DataGridTemplateColumn Width="300" Header="ResourceKey">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ResourceKey}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn Width="300" Header="BoxShadows">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding BoxShadowValue}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ShadowItemViewModel"
|
||||
Binding="{Binding ShadowDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Name" />
|
||||
<DataGridTemplateColumn Width="300" Header="BoxShadows">
|
||||
Header="Description" />
|
||||
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding BoxShadowValue}" />
|
||||
<Button
|
||||
Command="{Binding $parent[pages:PaletteDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
@@ -51,29 +63,40 @@
|
||||
<TabItem Header="Dark">
|
||||
<DataGrid IsReadOnly="True" ItemsSource="{TemplateBinding DarkShadows}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn Width="*" Header="ResourceKey">
|
||||
<DataGridTemplateColumn Width="300" Header="ResourceKey">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ResourceKey}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTemplateColumn Width="300" Header="BoxShadows">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding BoxShadowValue}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn
|
||||
Width="*"
|
||||
x:DataType="viewModels:ShadowItemViewModel"
|
||||
Binding="{Binding ShadowDisplayName}"
|
||||
CanUserSort="False"
|
||||
Header="Name" />
|
||||
<DataGridTemplateColumn Width="300" Header="BoxShadows">
|
||||
Header="Description" />
|
||||
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate DataType="viewModels:ShadowItemViewModel">
|
||||
<SelectableTextBlock
|
||||
Margin="12,0,12,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding BoxShadowValue}" />
|
||||
<Button
|
||||
Command="{Binding $parent[pages:PaletteDemo].Copy}"
|
||||
CommandParameter="{Binding CopyText}"
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconCopy}" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
@@ -1,31 +1,46 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ControlTheme x:Key="ThemeToggleSwitch"
|
||||
<Design.PreviewWith>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ToggleSwitch
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Content="{StaticResource SemiIconStar}" />
|
||||
<Button
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconStar}" />
|
||||
</StackPanel>
|
||||
</Design.PreviewWith>
|
||||
|
||||
<ControlTheme x:Key="IconBorderlessToggleSwitch"
|
||||
BasedOn="{StaticResource ButtonToggleSwitch}"
|
||||
TargetType="ToggleSwitch">
|
||||
<Setter Property="Padding" Value="8" />
|
||||
<Setter Property="OnContent" Value="{Binding $self.Content}" />
|
||||
<Setter Property="Padding" Value="{StaticResource SemiThicknessTight}" />
|
||||
<Setter Property="Width" Value="{StaticResource SemiSpacingExtraLoose}" />
|
||||
<Setter Property="Height" Value="{StaticResource SemiSpacingExtraLoose}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource SemiColorText1}" />
|
||||
<Setter Property="OnContentTemplate">
|
||||
<DataTemplate>
|
||||
<PathIcon Theme="{StaticResource InnerPathIcon}" Data="{Binding}" />
|
||||
</DataTemplate>
|
||||
<StaticResource ResourceKey="GeometryDataTemplate" />
|
||||
</Setter>
|
||||
<Setter Property="OffContent" Value="{Binding $self.Content}" />
|
||||
<Setter Property="OffContentTemplate">
|
||||
<DataTemplate>
|
||||
<PathIcon Theme="{StaticResource InnerPathIcon}" Data="{Binding}" />
|
||||
</DataTemplate>
|
||||
<StaticResource ResourceKey="GeometryDataTemplate" />
|
||||
</Setter>
|
||||
<Setter Property="ContentTemplate">
|
||||
<DataTemplate>
|
||||
<PathIcon Theme="{StaticResource InnerPathIcon}" Data="{Binding}" />
|
||||
</DataTemplate>
|
||||
<StaticResource ResourceKey="GeometryDataTemplate" />
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
|
||||
<ControlTheme x:Key="SplitViewToggleSwitch"
|
||||
BasedOn="{StaticResource ThemeToggleSwitch}"
|
||||
TargetType="ToggleSwitch">
|
||||
<Setter Property="Content"
|
||||
Value="M5 2H19C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2ZM6 4C5.44772 4 5 4.44772 5 5V19C5 19.5523 5.44772 20 6 20H9C9.55229 20 10 19.5523 10 19V5C10 4.44772 9.55229 4 9 4H6Z" />
|
||||
<ControlTheme x:Key="IconBorderlessButton"
|
||||
BasedOn="{StaticResource BorderlessButton}"
|
||||
TargetType="Button">
|
||||
<Setter Property="Padding" Value="{StaticResource SemiThicknessTight}" />
|
||||
<Setter Property="Width" Value="{StaticResource SemiSpacingExtraLoose}" />
|
||||
<Setter Property="Height" Value="{StaticResource SemiSpacingExtraLoose}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource SemiColorText1}" />
|
||||
<Setter Property="ContentTemplate">
|
||||
<StaticResource ResourceKey="GeometryDataTemplate" />
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
|
||||
<DataTemplate x:Key="GeometryDataTemplate" DataType="Geometry">
|
||||
<PathIcon Theme="{StaticResource InnerPathIcon}" Data="{Binding}" />
|
||||
</DataTemplate>
|
||||
</ResourceDictionary>
|
||||
10
demo/Semi.Avalonia.Demo/Themes/_index.axaml
Normal file
10
demo/Semi.Avalonia.Demo/Themes/_index.axaml
Normal file
@@ -0,0 +1,10 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="ColorDetailControl.axaml" />
|
||||
<ResourceInclude Source="ColorItemControl.axaml" />
|
||||
<ResourceInclude Source="FunctionalColorGroupControl.axaml" />
|
||||
<ResourceInclude Source="ShadowGroupControl.axaml" />
|
||||
<ResourceInclude Source="TabMenu.axaml" />
|
||||
<ResourceInclude Source="ToggleSwitch.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
19
demo/Semi.Avalonia.Demo/ViewModels/ApplicationViewModel.cs
Normal file
19
demo/Semi.Avalonia.Demo/ViewModels/ApplicationViewModel.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Semi.Avalonia.Demo.Views;
|
||||
|
||||
namespace Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
public partial class ApplicationViewModel: ObservableObject
|
||||
{
|
||||
[RelayCommand]
|
||||
private void Exit()
|
||||
{
|
||||
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
desktop.Shutdown();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,14 +8,14 @@ using CommunityToolkit.Mvvm.Input;
|
||||
|
||||
namespace Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
public class DataGridDemoViewModel: ObservableObject
|
||||
public class DataGridDemoViewModel : ObservableObject
|
||||
{
|
||||
public ObservableCollection<Song> GridData1 { get; set; }
|
||||
|
||||
|
||||
public DataGridCollectionView GridData2 { get; set; }
|
||||
|
||||
|
||||
public ObservableCollection<SongViewModel> GridData3 { get; set; }
|
||||
|
||||
|
||||
public RelayCommand AddCommand { get; set; }
|
||||
|
||||
public DataGridDemoViewModel()
|
||||
@@ -23,7 +23,7 @@ public class DataGridDemoViewModel: ObservableObject
|
||||
GridData1 = new ObservableCollection<Song>(Song.Songs);
|
||||
GridData2 = new DataGridCollectionView(Song.Songs);
|
||||
GridData2.GroupDescriptions.Add(new DataGridPathGroupDescription("Album"));
|
||||
GridData3 = new ObservableCollection<SongViewModel>(Song.Songs.Take(10).Select(a=>new SongViewModel()
|
||||
GridData3 = new ObservableCollection<SongViewModel>(Song.Songs.Take(10).Select(a => new SongViewModel()
|
||||
{
|
||||
Title = a.Title,
|
||||
Artist = a.Artist,
|
||||
@@ -57,11 +57,10 @@ public class Song
|
||||
Album = album;
|
||||
CountOfComment = countOfComment;
|
||||
Url = $"https://music.163.com/song?id={netEaseId}";
|
||||
|
||||
}
|
||||
|
||||
public static List<Song> Songs { get; set; } = new List<Song>()
|
||||
{
|
||||
public static List<Song> Songs =>
|
||||
[
|
||||
new("好肚有肚(feat.李玲玉)", "熊猫堂ProducePandas", 2, 50, "A.S.I.A", 730, 1487039339),
|
||||
new("荒诞秀", "熊猫堂ProducePandas", 3, 15, "A.S.I.A", 639, 1487037601),
|
||||
new("长大", "熊猫堂ProducePandas", 4, 6, "A.S.I.A", 1114, 1487037690),
|
||||
@@ -122,41 +121,15 @@ public class Song
|
||||
new("热带季风Remix", "熊猫堂ProducePandas", 3, 22, "W.O.R.L.D.", 23, 2063173319),
|
||||
new("加州梦境", "熊猫堂ProducePandas", 2, 56, "W.O.R.L.D.", 1662, 2063173324),
|
||||
new("渐近自由", "熊猫堂ProducePandas", 4, 19, "W.O.R.L.D.", 124, 2063173321),
|
||||
new("世界所有的烂漫", "熊猫堂ProducePandas", 3, 30, "W.O.R.L.D.", 335, 2053388775),
|
||||
};
|
||||
new("世界所有的烂漫", "熊猫堂ProducePandas", 3, 30, "W.O.R.L.D.", 335, 2053388775)
|
||||
];
|
||||
}
|
||||
|
||||
public class SongViewModel: ObservableObject
|
||||
public partial class SongViewModel : ObservableObject
|
||||
{
|
||||
private string? _title;
|
||||
private string? _artist;
|
||||
private string? _album;
|
||||
private int _countOfComment;
|
||||
private bool? _isSelected;
|
||||
public string? Title
|
||||
{
|
||||
get => _title;
|
||||
set => SetProperty(ref _title, value);
|
||||
}
|
||||
public string? Artist
|
||||
{
|
||||
get => _artist;
|
||||
set => SetProperty(ref _artist, value);
|
||||
}
|
||||
public string? Album
|
||||
{
|
||||
get => _album;
|
||||
set => SetProperty(ref _album, value);
|
||||
}
|
||||
public int CountOfComment
|
||||
{
|
||||
get => _countOfComment;
|
||||
set => SetProperty(ref _countOfComment, value);
|
||||
}
|
||||
public bool? IsSelected
|
||||
{
|
||||
get => _isSelected;
|
||||
set => SetProperty(ref _isSelected, value);
|
||||
}
|
||||
|
||||
[ObservableProperty] private string? _title;
|
||||
[ObservableProperty] private string? _artist;
|
||||
[ObservableProperty] private string? _album;
|
||||
[ObservableProperty] private int _countOfComment;
|
||||
[ObservableProperty] private bool? _isSelected;
|
||||
}
|
||||
@@ -31,67 +31,59 @@ public partial class HighContrastDemoViewModel : ObservableObject
|
||||
[
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "WindowColor",
|
||||
ResourceKey = "SemiColorWindow",
|
||||
Brush = new SolidColorBrush(Color.Parse("#202020")),
|
||||
Hex = "#FF202020",
|
||||
Description = "Background of pages, panes, popups, and windows.",
|
||||
PairWith = "WindowTextColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "WindowTextColor",
|
||||
ResourceKey = "SemiColorWindowText",
|
||||
Brush = new SolidColorBrush(Color.Parse("#FFFFFF")),
|
||||
Hex = "WHITE",
|
||||
Description = "Headings, body copy, lists, placeholder text, app and window borders.",
|
||||
PairWith = "WindowColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "HotlightColor",
|
||||
ResourceKey = "SemiColorHotlight",
|
||||
Brush = new SolidColorBrush(Color.Parse("#75E9FC")),
|
||||
Hex = "#FF75E9FC",
|
||||
Description = "Hyperlinks.",
|
||||
PairWith = "WindowColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "GrayTextColor",
|
||||
ResourceKey = "SemiColorGrayText",
|
||||
Brush = new SolidColorBrush(Color.Parse("#A6A6A6")),
|
||||
Hex = "#FFA6A6A6",
|
||||
Description = "Inactive (disabled) UI.",
|
||||
PairWith = "WindowColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "HighlightTextColor",
|
||||
ResourceKey = "SemiColorHighlightText",
|
||||
Brush = new SolidColorBrush(Color.Parse("#263B50")),
|
||||
Hex = "#FF263B50",
|
||||
Description =
|
||||
"Foreground color for text or UI that is in selected, interacted with (hover, pressed), or in progress.",
|
||||
PairWith = "HighlightColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "HighlightColor",
|
||||
ResourceKey = "SemiColorHighlight",
|
||||
Brush = new SolidColorBrush(Color.Parse("#8EE3F0")),
|
||||
Hex = "#FF8EE3F0",
|
||||
Description =
|
||||
"Background or accent color for UI that is in selected, interacted with (hover, pressed), or in progress.",
|
||||
PairWith = "HighlightTextColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "ButtonTextColor",
|
||||
ResourceKey = "SemiColorButtonText",
|
||||
Brush = new SolidColorBrush(Color.Parse("#FFFFFF")),
|
||||
Hex = "WHITE",
|
||||
Description = "Foreground color for buttons and any UI that can be interacted with.",
|
||||
PairWith = "ButtonFaceColor"
|
||||
},
|
||||
new ColorResource
|
||||
{
|
||||
ResourceKey = "ButtonFaceColor",
|
||||
ResourceKey = "SemiColorButtonFace",
|
||||
Brush = new SolidColorBrush(Color.Parse("#202020")),
|
||||
Hex = "#FF202020",
|
||||
Description = "Background color for buttons and any UI that can be interacted with.",
|
||||
PairWith = "ButtonTextColor"
|
||||
},
|
||||
@@ -108,10 +100,10 @@ public partial class HighContrastDemoViewModel : ObservableObject
|
||||
foreach (var colorResource in ColorResources)
|
||||
{
|
||||
if (colorResource.ResourceKey is null) continue;
|
||||
if (topLevel?.TryFindResource(colorResource.ResourceKey, value, out var o) == true && o is Color color)
|
||||
if (topLevel?.TryFindResource(colorResource.ResourceKey, value, out var o) == true
|
||||
&& o is ISolidColorBrush color)
|
||||
{
|
||||
colorResource.Brush = new SolidColorBrush(color);
|
||||
colorResource.Hex = color.ToString().ToUpperInvariant();
|
||||
colorResource.Brush = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,8 +122,12 @@ public partial class HighContrastDemoViewModel : ObservableObject
|
||||
public partial class ColorResource : ObservableObject
|
||||
{
|
||||
[ObservableProperty] private string? _resourceKey;
|
||||
[ObservableProperty] private SolidColorBrush? _brush;
|
||||
[ObservableProperty] private string? _hex;
|
||||
[ObservableProperty] private ISolidColorBrush? _brush;
|
||||
[ObservableProperty] private string? _description;
|
||||
[ObservableProperty] private string? _pairWith;
|
||||
|
||||
public string CopyText =>
|
||||
$"""
|
||||
<StaticResource x:Key="" ResourceKey="{ResourceKey}" />
|
||||
""";
|
||||
}
|
||||
@@ -1,15 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Globalization;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Media;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using Semi.Avalonia.Demo.Constant;
|
||||
using Semi.Avalonia.Demo.Converters;
|
||||
using Semi.Avalonia.Tokens.Palette;
|
||||
|
||||
namespace Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
public class PaletteDemoViewModel : ObservableObject
|
||||
public partial class PaletteDemoViewModel : ObservableObject
|
||||
{
|
||||
private readonly string[] _predefinedColorNames =
|
||||
[
|
||||
@@ -22,31 +25,10 @@ public class PaletteDemoViewModel : ObservableObject
|
||||
private readonly IResourceDictionary? _lightResourceDictionary;
|
||||
private readonly IResourceDictionary? _darkResourceDictionary;
|
||||
|
||||
private ColorItemViewModel _selectedColor = null!;
|
||||
|
||||
public ColorItemViewModel SelectedColor
|
||||
{
|
||||
get => _selectedColor;
|
||||
set => SetProperty(ref _selectedColor, value);
|
||||
}
|
||||
|
||||
|
||||
private ObservableCollection<ColorListViewModel>? _lightLists;
|
||||
|
||||
public ObservableCollection<ColorListViewModel>? LightLists
|
||||
{
|
||||
get => _lightLists;
|
||||
set => SetProperty(ref _lightLists, value);
|
||||
}
|
||||
|
||||
private ObservableCollection<ColorListViewModel>? _darkLists;
|
||||
|
||||
public ObservableCollection<ColorListViewModel>? DarkLists
|
||||
{
|
||||
get => _darkLists;
|
||||
set => SetProperty(ref _darkLists, value);
|
||||
}
|
||||
[ObservableProperty] private ColorItemViewModel? _selectedColor;
|
||||
|
||||
public ObservableCollection<ColorListViewModel> LightLists { get; set; } = [];
|
||||
public ObservableCollection<ColorListViewModel> DarkLists { get; set; } = [];
|
||||
public ObservableCollection<FunctionalColorGroupViewModel> FunctionalColors { get; set; } = [];
|
||||
public ObservableCollection<ShadowGroupViewModel> Shadows { get; set; } = [];
|
||||
|
||||
@@ -54,7 +36,7 @@ public class PaletteDemoViewModel : ObservableObject
|
||||
{
|
||||
_lightResourceDictionary = new Light();
|
||||
_darkResourceDictionary = new Dark();
|
||||
WeakReferenceMessenger.Default.Register<PaletteDemoViewModel, ColorItemViewModel>(this, OnClickColorItem);
|
||||
WeakReferenceMessenger.Default.Register<ColorItemViewModel>(this, (_, item) => SelectedColor = item);
|
||||
}
|
||||
|
||||
public void InitializeResources()
|
||||
@@ -66,7 +48,6 @@ public class PaletteDemoViewModel : ObservableObject
|
||||
|
||||
private void InitializePalette()
|
||||
{
|
||||
LightLists = [];
|
||||
foreach (var color in _predefinedColorNames)
|
||||
{
|
||||
ColorListViewModel s = new ColorListViewModel();
|
||||
@@ -74,7 +55,6 @@ public class PaletteDemoViewModel : ObservableObject
|
||||
LightLists.Add(s);
|
||||
}
|
||||
|
||||
DarkLists = [];
|
||||
foreach (var color in _predefinedColorNames)
|
||||
{
|
||||
ColorListViewModel s = new ColorListViewModel();
|
||||
@@ -85,126 +65,82 @@ public class PaletteDemoViewModel : ObservableObject
|
||||
|
||||
private void InitializeFunctionalColors()
|
||||
{
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Primary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.PrimaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Secondary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.SecondaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Tertiary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.TertiaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Information", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.InformationTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Success", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.SuccessTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Warning", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.WarningTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Danger", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.DangerTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Text", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.TextTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Link", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.LinkTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Background", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.BackgroundTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Fill", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.FillTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Border", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.BorderTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel("Disabled", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.DisabledTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Primary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.PrimaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Secondary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.SecondaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Tertiary", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.TertiaryTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Information", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.InformationTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Success", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.SuccessTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Warning", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.WarningTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Danger", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.DangerTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Text", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.TextTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Link", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.LinkTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Background", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.BackgroundTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Fill", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.FillTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Border", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.BorderTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Disabled", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.DisabledTokens));
|
||||
FunctionalColors.Add(new FunctionalColorGroupViewModel(
|
||||
"Others", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.OtherTokens));
|
||||
}
|
||||
|
||||
private void InitializeShadows()
|
||||
{
|
||||
Shadows.Add(new ShadowGroupViewModel("Shadow", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.ShadowTokens));
|
||||
}
|
||||
|
||||
private void OnClickColorItem(PaletteDemoViewModel vm, ColorItemViewModel item)
|
||||
{
|
||||
SelectedColor = item;
|
||||
Shadows.Add(new ShadowGroupViewModel(
|
||||
"Shadow", _lightResourceDictionary, _darkResourceDictionary, ColorTokens.ShadowTokens));
|
||||
}
|
||||
}
|
||||
|
||||
public class ColorListViewModel : ObservableObject
|
||||
public partial class ColorListViewModel : ObservableObject
|
||||
{
|
||||
private ObservableCollection<ColorItemViewModel>? _colors;
|
||||
public ObservableCollection<ColorItemViewModel> Color { get; set; } = [];
|
||||
|
||||
public ObservableCollection<ColorItemViewModel>? Color
|
||||
{
|
||||
get => _colors;
|
||||
set => SetProperty(ref _colors, value);
|
||||
}
|
||||
|
||||
private string? _seriesName;
|
||||
|
||||
public string? SeriesName
|
||||
{
|
||||
get => _seriesName;
|
||||
set => SetProperty(ref _seriesName, value);
|
||||
}
|
||||
[ObservableProperty] private string? _seriesName;
|
||||
|
||||
internal void Initialize(IResourceDictionary? resourceDictionary, string color, bool light)
|
||||
{
|
||||
if (resourceDictionary is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (resourceDictionary is null) return;
|
||||
|
||||
SeriesName = color;
|
||||
Color = [];
|
||||
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var key = "Semi" + color + i;
|
||||
if (resourceDictionary.TryGetValue(key, out var value))
|
||||
var key = $"Semi{color}{i}";
|
||||
if (resourceDictionary.TryGetValue(key, out var value) && value is ISolidColorBrush brush)
|
||||
{
|
||||
if (value is ISolidColorBrush brush)
|
||||
{
|
||||
string name = color + " " + i;
|
||||
var item = new ColorItemViewModel(name, brush, key, light, i);
|
||||
item.ColorResourceKey = item.ResourceKey + "Color";
|
||||
Color.Add(item);
|
||||
}
|
||||
var name = $"{color} {i}";
|
||||
var item = new ColorItemViewModel(name, brush, key, light, i);
|
||||
item.ColorResourceKey = $"{item.ResourceKey}Color";
|
||||
Color.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ColorItemViewModel : ObservableObject
|
||||
public partial class ColorItemViewModel : ObservableObject
|
||||
{
|
||||
private IBrush _brush = null!;
|
||||
[ObservableProperty] private IBrush? _brush;
|
||||
[ObservableProperty] private IBrush? _textBrush;
|
||||
[ObservableProperty] private string? _colorDisplayName;
|
||||
[ObservableProperty] private string? _resourceKey;
|
||||
[ObservableProperty] private string? _colorResourceKey;
|
||||
[ObservableProperty] private string? _hex;
|
||||
|
||||
public IBrush Brush
|
||||
{
|
||||
get => _brush;
|
||||
set => SetProperty(ref _brush, value);
|
||||
}
|
||||
|
||||
private IBrush _textBrush = null!;
|
||||
|
||||
public IBrush TextBrush
|
||||
{
|
||||
get => _textBrush;
|
||||
set => SetProperty(ref _textBrush, value);
|
||||
}
|
||||
|
||||
private string _colorDisplayName = null!;
|
||||
|
||||
public string ColorDisplayName
|
||||
{
|
||||
get => _colorDisplayName;
|
||||
set => SetProperty(ref _colorDisplayName, value);
|
||||
}
|
||||
|
||||
private string _resourceKey = null!;
|
||||
|
||||
public string ResourceKey
|
||||
{
|
||||
get => _resourceKey;
|
||||
set => SetProperty(ref _resourceKey, value);
|
||||
}
|
||||
|
||||
private string _colorResourceKey = null!;
|
||||
|
||||
public string ColorResourceKey
|
||||
{
|
||||
get => _colorResourceKey;
|
||||
set => SetProperty(ref _colorResourceKey, value);
|
||||
}
|
||||
|
||||
private string _hex = null!;
|
||||
|
||||
public string Hex
|
||||
{
|
||||
get => _hex;
|
||||
set => SetProperty(ref _hex, value);
|
||||
}
|
||||
public string CopyText =>
|
||||
$"""
|
||||
<StaticResource x:Key="" ResourceKey="{ResourceKey}" />
|
||||
""";
|
||||
|
||||
public ColorItemViewModel(string colorDisplayName, ISolidColorBrush brush, string resourceKey, bool light,
|
||||
int index)
|
||||
@@ -212,7 +148,8 @@ public class ColorItemViewModel : ObservableObject
|
||||
ColorDisplayName = colorDisplayName;
|
||||
Brush = brush;
|
||||
ResourceKey = resourceKey;
|
||||
Hex = brush.ToString().ToUpperInvariant();
|
||||
var hex = ColorConverter.ToHex.Convert(brush.Color, typeof(string), false, CultureInfo.InvariantCulture);
|
||||
Hex = hex as string ?? string.Empty;
|
||||
if ((light && index < 5) || (!light && index >= 5))
|
||||
{
|
||||
TextBrush = Brushes.Black;
|
||||
@@ -224,16 +161,9 @@ public class ColorItemViewModel : ObservableObject
|
||||
}
|
||||
}
|
||||
|
||||
public class FunctionalColorGroupViewModel : ObservableObject
|
||||
public partial class FunctionalColorGroupViewModel : ObservableObject
|
||||
{
|
||||
private string _title = null!;
|
||||
|
||||
public string Title
|
||||
{
|
||||
get => _title;
|
||||
set => SetProperty(ref _title, value);
|
||||
}
|
||||
|
||||
[ObservableProperty] private string? _title;
|
||||
public ObservableCollection<ColorItemViewModel> LightColors { get; set; } = [];
|
||||
public ObservableCollection<ColorItemViewModel> DarkColors { get; set; } = [];
|
||||
|
||||
@@ -262,31 +192,16 @@ public class FunctionalColorGroupViewModel : ObservableObject
|
||||
}
|
||||
}
|
||||
|
||||
public class ShadowItemViewModel : ObservableObject
|
||||
public partial class ShadowItemViewModel : ObservableObject
|
||||
{
|
||||
private string _shadowDisplayName = null!;
|
||||
[ObservableProperty] private string? _shadowDisplayName;
|
||||
[ObservableProperty] private string? _resourceKey;
|
||||
[ObservableProperty] private string? _boxShadowValue;
|
||||
|
||||
public string ShadowDisplayName
|
||||
{
|
||||
get => _shadowDisplayName;
|
||||
set => SetProperty(ref _shadowDisplayName, value);
|
||||
}
|
||||
|
||||
private string _resourceKey = null!;
|
||||
|
||||
public string ResourceKey
|
||||
{
|
||||
get => _resourceKey;
|
||||
set => SetProperty(ref _resourceKey, value);
|
||||
}
|
||||
|
||||
private string _boxShadowValue = null!;
|
||||
|
||||
public string BoxShadowValue
|
||||
{
|
||||
get => _boxShadowValue;
|
||||
set => SetProperty(ref _boxShadowValue, value);
|
||||
}
|
||||
public string CopyText =>
|
||||
$"""
|
||||
<StaticResource x:Key="" ResourceKey="{ResourceKey}" />
|
||||
""";
|
||||
|
||||
public ShadowItemViewModel(string shadowDisplayName, BoxShadows boxShadows, string resourceKey)
|
||||
{
|
||||
@@ -296,16 +211,9 @@ public class ShadowItemViewModel : ObservableObject
|
||||
}
|
||||
}
|
||||
|
||||
public class ShadowGroupViewModel : ObservableObject
|
||||
public partial class ShadowGroupViewModel : ObservableObject
|
||||
{
|
||||
private string _title = null!;
|
||||
|
||||
public string Title
|
||||
{
|
||||
get => _title;
|
||||
set => SetProperty(ref _title, value);
|
||||
}
|
||||
|
||||
[ObservableProperty] private string? _title;
|
||||
public ObservableCollection<ShadowItemViewModel> LightShadows { get; set; } = [];
|
||||
public ObservableCollection<ShadowItemViewModel> DarkShadows { get; set; } = [];
|
||||
|
||||
@@ -333,132 +241,4 @@ public class ShadowGroupViewModel : ObservableObject
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class ColorTokens
|
||||
{
|
||||
public static IReadOnlyList<Tuple<string, string>> PrimaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorPrimary", "Primary"),
|
||||
new("SemiColorPrimaryPointerover", "Primary Pointerover"),
|
||||
new("SemiColorPrimaryActive", "Primary Active"),
|
||||
new("SemiColorPrimaryDisabled", "Primary Disabled"),
|
||||
new("SemiColorPrimaryLight", "Primary Light"),
|
||||
new("SemiColorPrimaryLightPointerover", "Primary Light Pointerover"),
|
||||
new("SemiColorPrimaryLightActive", "Primary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> SecondaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorSecondary", "Secondary"),
|
||||
new("SemiColorSecondaryPointerover", "Secondary Pointerover"),
|
||||
new("SemiColorSecondaryActive", "Secondary Active"),
|
||||
new("SemiColorSecondaryDisabled", "Secondary Disabled"),
|
||||
new("SemiColorSecondaryLight", "Secondary Light"),
|
||||
new("SemiColorSecondaryLightPointerover", "Secondary Light Pointerover"),
|
||||
new("SemiColorSecondaryLightActive", "Secondary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> TertiaryTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorTertiary", "Tertiary"),
|
||||
new("SemiColorTertiaryPointerover", "Tertiary Pointerover"),
|
||||
new("SemiColorTertiaryActive", "Tertiary Active"),
|
||||
new("SemiColorTertiaryLight", "Tertiary Light"),
|
||||
new("SemiColorTertiaryLightPointerover", "Tertiary Light Pointerover"),
|
||||
new("SemiColorTertiaryLightActive", "Tertiary Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> InformationTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorInformation", "Information"),
|
||||
new("SemiColorInformationPointerover", "Information Pointerover"),
|
||||
new("SemiColorInformationActive", "Information Active"),
|
||||
new("SemiColorInformationDisabled", "Information Disabled"),
|
||||
new("SemiColorInformationLight", "Information Light"),
|
||||
new("SemiColorInformationLightPointerover", "Information Light Pointerover"),
|
||||
new("SemiColorInformationLightActive", "Information Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> SuccessTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorSuccess", "Success"),
|
||||
new("SemiColorSuccessPointerover", "Success Pointerover"),
|
||||
new("SemiColorSuccessActive", "Success Active"),
|
||||
new("SemiColorSuccessDisabled", "Success Disabled"),
|
||||
new("SemiColorSuccessLight", "Success Light"),
|
||||
new("SemiColorSuccessLightPointerover", "Success Light Pointerover"),
|
||||
new("SemiColorSuccessLightActive", "Success Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> WarningTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorWarning", "Warning"),
|
||||
new("SemiColorWarningPointerover", "Warning Pointerover"),
|
||||
new("SemiColorWarningActive", "Warning Active"),
|
||||
new("SemiColorWarningLight", "Warning Light"),
|
||||
new("SemiColorWarningLightPointerover", "Warning Light Pointerover"),
|
||||
new("SemiColorWarningLightActive", "Warning Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> DangerTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorDanger", "Danger"),
|
||||
new("SemiColorDangerPointerover", "Danger Pointerover"),
|
||||
new("SemiColorDangerActive", "Danger Active"),
|
||||
new("SemiColorDangerLight", "Danger Light"),
|
||||
new("SemiColorDangerLightPointerover", "Danger Light Pointerover"),
|
||||
new("SemiColorDangerLightActive", "Danger Light Active"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> TextTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorText0", "Text 0"),
|
||||
new("SemiColorText1", "Text 1"),
|
||||
new("SemiColorText2", "Text 2"),
|
||||
new("SemiColorText3", "Text 3"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> LinkTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorLink", "Link"),
|
||||
new("SemiColorLinkPointerover", "Link Pointerover"),
|
||||
new("SemiColorLinkActive", "Link Active"),
|
||||
new("SemiColorLinkVisited", "Link Visited"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> BackgroundTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorBackground0", "Background 0"),
|
||||
new("SemiColorBackground1", "Background 1"),
|
||||
new("SemiColorBackground2", "Background 2"),
|
||||
new("SemiColorBackground3", "Background 3"),
|
||||
new("SemiColorBackground4", "Background 4"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> FillTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorFill0", "Fill 0"),
|
||||
new("SemiColorFill1", "Fill 1"),
|
||||
new("SemiColorFill2", "Fill 2"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> BorderTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorBorder", "Border"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> DisabledTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorDisabledText", "Disabled Text"),
|
||||
new("SemiColorDisabledBorder", "Disabled Border"),
|
||||
new("SemiColorDisabledBackground", "Disabled Background"),
|
||||
new("SemiColorDisabledFill", "Disabled Fill"),
|
||||
};
|
||||
|
||||
public static IReadOnlyList<Tuple<string, string>> ShadowTokens { get; } = new List<Tuple<string, string>>
|
||||
{
|
||||
new("SemiColorShadow", "Shadow"),
|
||||
new("SemiShadowElevated", "Shadow Elevated"),
|
||||
};
|
||||
}
|
||||
123
demo/Semi.Avalonia.Demo/ViewModels/VariablesDemoViewModel.cs
Normal file
123
demo/Semi.Avalonia.Demo/ViewModels/VariablesDemoViewModel.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using Avalonia;
|
||||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Media;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Semi.Avalonia.Tokens;
|
||||
|
||||
namespace Semi.Avalonia.Demo.ViewModels;
|
||||
|
||||
public class VariablesDemoViewModel : ObservableObject
|
||||
{
|
||||
public DataGridCollectionView GridData { get; set; }
|
||||
|
||||
public VariablesDemoViewModel()
|
||||
{
|
||||
IResourceDictionary dictionary = new Variables();
|
||||
foreach (var token in Tokens)
|
||||
{
|
||||
if (token.ResourceKey is not null && dictionary.TryGetValue(token.ResourceKey, out var value))
|
||||
{
|
||||
token.Type = value?.GetType();
|
||||
token.Value = GetValueString(value);
|
||||
}
|
||||
}
|
||||
|
||||
GridData = new DataGridCollectionView(Tokens);
|
||||
GridData.GroupDescriptions.Add(new DataGridPathGroupDescription(nameof(VariableItem.Category)));
|
||||
}
|
||||
|
||||
private static string GetValueString(object? value)
|
||||
{
|
||||
if (value is null) return string.Empty;
|
||||
|
||||
return value switch
|
||||
{
|
||||
double d => d.ToString(CultureInfo.InvariantCulture),
|
||||
CornerRadius c => c.IsUniform ? $"{c.TopLeft}" : c.ToString(),
|
||||
Thickness t => t.IsUniform ? $"{t.Left}" : t.ToString(),
|
||||
FontWeight fontWeight => Convert.ToInt32(fontWeight).ToString(),
|
||||
FontFamily fontFamily => fontFamily.FamilyNames.ToString(),
|
||||
_ => value.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
private static List<VariableItem> Tokens { get; set; } =
|
||||
[
|
||||
new("Height", "SemiHeightControlSmall"),
|
||||
new("Height", "SemiHeightControlDefault"),
|
||||
new("Height", "SemiHeightControlLarge"),
|
||||
new("Icon Size", "SemiWidthIconExtraSmall"),
|
||||
new("Icon Size", "SemiWidthIconSmall"),
|
||||
new("Icon Size", "SemiWidthIconMedium"),
|
||||
new("Icon Size", "SemiWidthIconLarge"),
|
||||
new("Icon Size", "SemiWidthIconExtraLarge"),
|
||||
new("Border CornerRadius", "SemiBorderRadiusExtraSmall"),
|
||||
new("Border CornerRadius", "SemiBorderRadiusSmall"),
|
||||
new("Border CornerRadius", "SemiBorderRadiusMedium"),
|
||||
new("Border CornerRadius", "SemiBorderRadiusLarge"),
|
||||
new("Border CornerRadius", "SemiBorderRadiusFull"),
|
||||
new("Border Spacing", "SemiBorderSpacing"),
|
||||
new("Border Spacing", "SemiBorderSpacingControl"),
|
||||
new("Border Spacing", "SemiBorderSpacingControlFocus"),
|
||||
new("Border Thickness", "SemiBorderThickness"),
|
||||
new("Border Thickness", "SemiBorderThicknessControl"),
|
||||
new("Border Thickness", "SemiBorderThicknessControlFocus"),
|
||||
new("Spacing", "SemiSpacingNone"),
|
||||
new("Spacing", "SemiSpacingSuperTight"),
|
||||
new("Spacing", "SemiSpacingExtraTight"),
|
||||
new("Spacing", "SemiSpacingTight"),
|
||||
new("Spacing", "SemiSpacingBaseTight"),
|
||||
new("Spacing", "SemiSpacingBase"),
|
||||
new("Spacing", "SemiSpacingBaseLoose"),
|
||||
new("Spacing", "SemiSpacingLoose"),
|
||||
new("Spacing", "SemiSpacingExtraLoose"),
|
||||
new("Spacing", "SemiSpacingSuperLoose"),
|
||||
new("Thickness", "SemiThicknessNone"),
|
||||
new("Thickness", "SemiThicknessSuperTight"),
|
||||
new("Thickness", "SemiThicknessExtraTight"),
|
||||
new("Thickness", "SemiThicknessTight"),
|
||||
new("Thickness", "SemiThicknessBaseTight"),
|
||||
new("Thickness", "SemiThicknessBase"),
|
||||
new("Thickness", "SemiThicknessBaseLoose"),
|
||||
new("Thickness", "SemiThicknessLoose"),
|
||||
new("Thickness", "SemiThicknessExtraLoose"),
|
||||
new("Thickness", "SemiThicknessSuperLoose"),
|
||||
new("FontSize", "SemiFontSizeSmall"),
|
||||
new("FontSize", "SemiFontSizeRegular"),
|
||||
new("FontSize", "SemiFontSizeHeader6"),
|
||||
new("FontSize", "SemiFontSizeHeader5"),
|
||||
new("FontSize", "SemiFontSizeHeader4"),
|
||||
new("FontSize", "SemiFontSizeHeader3"),
|
||||
new("FontSize", "SemiFontSizeHeader2"),
|
||||
new("FontSize", "SemiFontSizeHeader1"),
|
||||
new("FontWeight", "SemiFontWeightLight"),
|
||||
new("FontWeight", "SemiFontWeightRegular"),
|
||||
new("FontWeight", "SemiFontWeightBold"),
|
||||
new("FontFamily", "SemiFontFamilyRegular"),
|
||||
];
|
||||
}
|
||||
|
||||
public class VariableItem()
|
||||
{
|
||||
public string? Category { get; set; }
|
||||
public string? ResourceKey { get; set; }
|
||||
public Type? Type { get; set; }
|
||||
public string? Value { get; set; }
|
||||
public string? Description { get; set; }
|
||||
|
||||
public VariableItem(string category, string resourceKey, string description = "") : this()
|
||||
{
|
||||
Category = category;
|
||||
ResourceKey = resourceKey;
|
||||
Description = description;
|
||||
}
|
||||
|
||||
public string CopyText =>
|
||||
$"""
|
||||
<StaticResource x:Key="" ResourceKey="{ResourceKey}" />
|
||||
""";
|
||||
}
|
||||
@@ -11,14 +11,6 @@
|
||||
x:CompileBindings="True"
|
||||
x:DataType="views:MainViewModel"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="../Themes/TabMenu.axaml" />
|
||||
<ResourceInclude Source="../Themes/ToggleSwitch.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid RowDefinitions="Auto, *">
|
||||
<Border
|
||||
Grid.Row="0"
|
||||
@@ -29,7 +21,8 @@
|
||||
<StackPanel Orientation="Horizontal" Spacing="8">
|
||||
<ToggleSwitch
|
||||
Name="ExpandButton"
|
||||
Theme="{DynamicResource SplitViewToggleSwitch}" />
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Content="{StaticResource SemiIconSidebar}" />
|
||||
<SelectableTextBlock
|
||||
VerticalAlignment="Center"
|
||||
Classes="H6"
|
||||
@@ -44,36 +37,27 @@
|
||||
Text="{ReflectionBinding #tab.SelectedItem.Header}" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
||||
<StackPanel.Styles>
|
||||
<Style Selector="Button">
|
||||
<Setter Property="Theme" Value="{DynamicResource BorderlessButton}" />
|
||||
<Setter Property="Padding" Value="8" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultTertiaryForeground}" />
|
||||
</Style>
|
||||
<Style Selector="ToggleSwitch">
|
||||
<Setter Property="Theme" Value="{DynamicResource ThemeToggleSwitch}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultTertiaryForeground}" />
|
||||
</Style>
|
||||
<Style Selector="PathIcon">
|
||||
<Setter Property="Theme" Value="{DynamicResource InnerPathIcon}" />
|
||||
</Style>
|
||||
</StackPanel.Styles>
|
||||
<Button
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Command="{Binding OpenUrlCommand}"
|
||||
CommandParameter="{Binding DocumentationUrl}"
|
||||
Content="{StaticResource SemiIconGlobe}" />
|
||||
|
||||
<Button Command="{Binding OpenUrlCommand}" CommandParameter="{Binding DocumentationUrl}">
|
||||
<PathIcon Data="{StaticResource SemiIconGlobe}" />
|
||||
</Button>
|
||||
|
||||
<Button Command="{Binding OpenUrlCommand}" CommandParameter="{Binding RepoUrl}">
|
||||
<PathIcon Data="{StaticResource SemiIconGithubLogo}" />
|
||||
</Button>
|
||||
<Button
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Command="{Binding OpenUrlCommand}"
|
||||
CommandParameter="{Binding RepoUrl}"
|
||||
Content="{StaticResource SemiIconGithubLogo}" />
|
||||
|
||||
<ToggleSwitch
|
||||
Theme="{DynamicResource IconBorderlessToggleSwitch}"
|
||||
Command="{Binding ToggleThemeCommand}"
|
||||
OnContent="{StaticResource SemiIconMoon}"
|
||||
OffContent="{StaticResource SemiIconSun}" />
|
||||
|
||||
<Button>
|
||||
<PathIcon Data="{StaticResource SemiIconMenu}" />
|
||||
<Button
|
||||
Theme="{DynamicResource IconBorderlessButton}"
|
||||
Content="{StaticResource SemiIconMenu}">
|
||||
<Button.Flyout>
|
||||
<MenuFlyout Placement="Bottom" ItemsSource="{Binding MenuItems}" />
|
||||
</Button.Flyout>
|
||||
@@ -107,6 +91,9 @@
|
||||
<TabItem Header="HighContrastTheme">
|
||||
<pages:HighContrastDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Variables">
|
||||
<pages:VariablesDemo />
|
||||
</TabItem>
|
||||
<TabItem Header="Icon">
|
||||
<pages:IconDemo />
|
||||
</TabItem>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using Avalonia;
|
||||
@@ -32,9 +33,14 @@ public partial class MainViewModel : ObservableObject
|
||||
[
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "High Contrast Theme",
|
||||
Header = "Theme",
|
||||
Items =
|
||||
[
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Auto",
|
||||
Command = FollowSystemThemeCommand
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Aquatic",
|
||||
@@ -60,10 +66,65 @@ public partial class MainViewModel : ObservableObject
|
||||
CommandParameter = SemiTheme.NightSky
|
||||
},
|
||||
]
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Locale",
|
||||
Items =
|
||||
[
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "简体中文",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("zh-cn")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "English",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("en-us")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "日本語",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("ja-jp")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Українська",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("uk-ua")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Русский",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("ru-ru")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "繁體中文",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("zh-tw")
|
||||
},
|
||||
new MenuItemViewModel
|
||||
{
|
||||
Header = "Deutsch",
|
||||
Command = SelectLocaleCommand,
|
||||
CommandParameter = new CultureInfo("de-de")
|
||||
},
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void FollowSystemTheme()
|
||||
{
|
||||
Application.Current?.RegisterFollowSystemTheme();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void ToggleTheme()
|
||||
{
|
||||
@@ -71,16 +132,24 @@ public partial class MainViewModel : ObservableObject
|
||||
if (app is null) return;
|
||||
var theme = app.ActualThemeVariant;
|
||||
app.RequestedThemeVariant = theme == ThemeVariant.Dark ? ThemeVariant.Light : ThemeVariant.Dark;
|
||||
app.UnregisterFollowSystemTheme();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void SelectTheme(object? obj)
|
||||
{
|
||||
var app = Application.Current;
|
||||
if (app is not null)
|
||||
{
|
||||
app.RequestedThemeVariant = obj as ThemeVariant;
|
||||
}
|
||||
if (app is null) return;
|
||||
app.RequestedThemeVariant = obj as ThemeVariant;
|
||||
app.UnregisterFollowSystemTheme();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void SelectLocale(object? obj)
|
||||
{
|
||||
var app = Application.Current;
|
||||
if (app is null) return;
|
||||
SemiTheme.OverrideLocaleResources(app, obj as CultureInfo);
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Title="Semi.Avalonia.Demo"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
Icon="/Assets/avalonia-logo.ico"
|
||||
Icon="/Assets/irihi.ico"
|
||||
mc:Ignorable="d">
|
||||
<views:MainView />
|
||||
</Window>
|
||||
|
||||
@@ -2,11 +2,10 @@
|
||||
x:Class="Semi.Avalonia.TreeDataGrid.Demo.App"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
RequestedThemeVariant="Default">
|
||||
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
|
||||
xmlns:semi="https://irihi.tech/semi">
|
||||
|
||||
<Application.Styles>
|
||||
<StyleInclude Source="avares://Semi.Avalonia/Themes/Index.axaml" />
|
||||
<semi:SemiTheme Locale="zh-CN" />
|
||||
<StyleInclude Source="avares://Semi.Avalonia.TreeDataGrid/Index.axaml" />
|
||||
</Application.Styles>
|
||||
</Application>
|
||||
@@ -1,10 +1,10 @@
|
||||
using Avalonia;
|
||||
using System;
|
||||
using System;
|
||||
using Avalonia;
|
||||
using Avalonia.Media;
|
||||
|
||||
namespace Semi.Avalonia.TreeDataGrid.Demo;
|
||||
|
||||
class Program
|
||||
sealed class Program
|
||||
{
|
||||
// Initialization code. Don't use any Avalonia, third-party APIs or any
|
||||
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
|
||||
|
||||
@@ -12,18 +12,21 @@
|
||||
<!--<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>-->
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="../Directory.Build.props" />
|
||||
<Import Project="../Directory.Build.props"/>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)"/>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)"/>
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)" />
|
||||
<PackageReference Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)">
|
||||
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
|
||||
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.TreeDataGrid\Semi.Avalonia.TreeDataGrid.csproj" />
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj" />
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia.TreeDataGrid\Semi.Avalonia.TreeDataGrid.csproj"/>
|
||||
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<TargetFrameworks>net6.0;net8.0;netstandard2.0</TargetFrameworks>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Version>11.2.1.2</Version>
|
||||
<Version>11.2.1.5</Version>
|
||||
<Authors>IRIHI Technology Co., Ltd.</Authors>
|
||||
<Description>Avalonia Theme inspired by Semi Design.</Description>
|
||||
<RepositoryUrl>https://github.com/irihitech/Semi.Avalonia</RepositoryUrl>
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
Width="300"
|
||||
Height="300"
|
||||
RowDefinitions="*,Auto">
|
||||
<Grid.Styles />
|
||||
<!-- Backgrounds -->
|
||||
<!-- TODO: Background="{DynamicResource ColorViewTabBackgroundBrush}" -->
|
||||
<Border
|
||||
@@ -143,7 +142,7 @@
|
||||
IsVisible="{TemplateBinding IsColorSpectrumSliderVisible}"
|
||||
Orientation="Vertical" />
|
||||
<primitives:ColorSpectrum
|
||||
Name="ColorSpectrum"
|
||||
x:Name="ColorSpectrum"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
@@ -334,7 +333,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component1Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component1Slider"
|
||||
x:Name="Component1Slider"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -365,7 +364,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component2Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component2Slider"
|
||||
x:Name="Component2Slider"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -396,7 +395,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component3Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component3Slider"
|
||||
x:Name="Component3Slider"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -434,7 +433,7 @@
|
||||
</NumericUpDown.IsVisible>
|
||||
</NumericUpDown>
|
||||
<primitives:ColorSlider
|
||||
Name="AlphaComponentSlider"
|
||||
x:Name="AlphaComponentSlider"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -559,7 +558,7 @@
|
||||
CornerRadius="8 8 0 0"
|
||||
ClipToBounds="True">
|
||||
<primitives:ColorSpectrum
|
||||
Name="ColorSpectrum"
|
||||
x:Name="ColorSpectrum"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Components="{TemplateBinding ColorSpectrumComponents}"
|
||||
@@ -585,7 +584,7 @@
|
||||
Orientation="Horizontal" />
|
||||
|
||||
<primitives:ColorSlider
|
||||
Name="ColorSpectrumAlphaSlider"
|
||||
x:Name="ColorSpectrumAlphaSlider"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
IsVisible="{TemplateBinding IsColorSpectrumSliderVisible}"
|
||||
Orientation="Vertical" />
|
||||
<primitives:ColorSpectrum
|
||||
Name="ColorSpectrum"
|
||||
x:Name="ColorSpectrum"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
@@ -251,7 +251,7 @@
|
||||
MinValue="{TemplateBinding MinValue}"
|
||||
Shape="{TemplateBinding ColorSpectrumShape}" />
|
||||
<primitives:ColorSlider
|
||||
Name="ColorSpectrumAlphaSlider"
|
||||
x:Name="ColorSpectrumAlphaSlider"
|
||||
Grid.Column="2"
|
||||
Margin="12,0,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
@@ -347,7 +347,7 @@
|
||||
CornerRadius="3">
|
||||
<Grid ColumnDefinitions="1*,1*" IsVisible="{TemplateBinding IsColorModelVisible}">
|
||||
<RadioButton
|
||||
Name="RgbRadioButton"
|
||||
x:Name="RgbRadioButton"
|
||||
Grid.Column="0"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
@@ -359,7 +359,7 @@
|
||||
Mode=TwoWay}"
|
||||
Theme="{DynamicResource ColorViewRadioButton}" />
|
||||
<RadioButton
|
||||
Name="HsvRadioButton"
|
||||
x:Name="HsvRadioButton"
|
||||
Grid.Column="1"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
@@ -373,7 +373,7 @@
|
||||
</Grid>
|
||||
</Border>
|
||||
<TextBox
|
||||
Name="PART_HexTextBox"
|
||||
x:Name="PART_HexTextBox"
|
||||
Grid.Column="2"
|
||||
Height="32"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -400,7 +400,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component1Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component1Slider"
|
||||
x:Name="Component1Slider"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -431,7 +431,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component2Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component2Slider"
|
||||
x:Name="Component2Slider"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -462,7 +462,7 @@
|
||||
ShowButtonSpinner="False"
|
||||
Value="{Binding Value, ElementName=Component3Slider}" />
|
||||
<primitives:ColorSlider
|
||||
Name="Component3Slider"
|
||||
x:Name="Component3Slider"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -500,7 +500,7 @@
|
||||
</NumericUpDown.IsVisible>
|
||||
</NumericUpDown>
|
||||
<primitives:ColorSlider
|
||||
Name="AlphaComponentSlider"
|
||||
x:Name="AlphaComponentSlider"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
@@ -584,7 +584,7 @@
|
||||
CornerRadius="8 8 0 0"
|
||||
ClipToBounds="True">
|
||||
<primitives:ColorSpectrum
|
||||
Name="ColorSpectrum"
|
||||
x:Name="ColorSpectrum"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Components="{TemplateBinding ColorSpectrumComponents}"
|
||||
@@ -610,7 +610,7 @@
|
||||
Orientation="Horizontal" />
|
||||
|
||||
<primitives:ColorSlider
|
||||
Name="ColorSpectrumAlphaSlider"
|
||||
x:Name="ColorSpectrumAlphaSlider"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<Title>Semi.Avalonia.ColorPicker</Title>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.2.1.2</PackageReleaseNotes>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.2.1.5</PackageReleaseNotes>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Import Project="../Package.props"/>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<Title>Semi.Avalonia.DataGrid</Title>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.2.1.2</PackageReleaseNotes>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.2.1.5</PackageReleaseNotes>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">
|
||||
|
||||
@@ -5,15 +5,14 @@
|
||||
<Design.PreviewWith>
|
||||
<CaptionButtons />
|
||||
</Design.PreviewWith>
|
||||
|
||||
<ControlTheme x:Key="CaptionButton" TargetType="Button">
|
||||
<Setter Property="Background" Value="{DynamicResource CaptionButtonPointeroverBackground}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource CaptionButtonPressedBackground}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonForeground}" />
|
||||
<Setter Property="CornerRadius" Value="6" />
|
||||
<Setter Property="Margin" Value="0, 4" />
|
||||
<Setter Property="Padding" Value="4" />
|
||||
<Setter Property="Height" Value="28" />
|
||||
<Setter Property="Width" Value="28" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="CornerRadius" Value="{StaticResource CaptionButtonCornerRadius}" />
|
||||
<Setter Property="Padding" Value="{StaticResource CaptionButtonPadding}" />
|
||||
<Setter Property="Width" Value="{StaticResource CaptionButtonWidth}" />
|
||||
<Setter Property="Height" Value="{StaticResource CaptionButtonHeight}" />
|
||||
<Setter Property="Cursor" Value="Hand" />
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="Template">
|
||||
@@ -21,77 +20,76 @@
|
||||
<ContentPresenter
|
||||
Name="PART_ContentPresenter"
|
||||
Padding="{TemplateBinding Padding}"
|
||||
Background="Transparent"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
Content="{TemplateBinding Content}"
|
||||
ContentTemplate="{TemplateBinding ContentTemplate}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}" />
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
|
||||
<Style Selector="^:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{TemplateBinding Background}" />
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Background" Value="{DynamicResource CaptionButtonPointeroverBackground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{TemplateBinding BorderBrush}" />
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="Background" Value="{DynamicResource CaptionButtonPressedBackground}" />
|
||||
</Style>
|
||||
</ControlTheme>
|
||||
|
||||
<ControlTheme x:Key="{x:Type CaptionButtons}" TargetType="CaptionButtons">
|
||||
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonForeground}" />
|
||||
<Setter Property="Margin" Value="0 0 4 0" />
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="CaptionButtons">
|
||||
<StackPanel
|
||||
VerticalAlignment="Stretch"
|
||||
Orientation="Horizontal"
|
||||
Spacing="2"
|
||||
TextElement.FontSize="10">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Name="PART_FullScreenButton" Theme="{StaticResource CaptionButton}">
|
||||
<PathIcon
|
||||
Name="PART_FullScreenButtonIcon"
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{DynamicResource WindowExpandGlyph}"
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{StaticResource WindowExpandGlyph}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
<Button Name="PART_MinimizeButton" Theme="{StaticResource CaptionButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{DynamicResource WindowMinimizeGlyph}"
|
||||
Name="PART_MinimizeButtonIcon"
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{StaticResource WindowMinimizeGlyph}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
<Button Name="PART_RestoreButton" Theme="{StaticResource CaptionButton}">
|
||||
<PathIcon
|
||||
Name="PART_RestoreButtonIcon"
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{DynamicResource WindowMaximizeGlyph}"
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{StaticResource WindowMaximizeGlyph}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
<Button
|
||||
Name="PART_CloseButton"
|
||||
Background="{DynamicResource CaptionButtonClosePointeroverBackground}"
|
||||
BorderBrush="{DynamicResource CaptionButtonClosePressedBackground}"
|
||||
Theme="{StaticResource CaptionButton}">
|
||||
<Button.Styles>
|
||||
<Style Selector="Button:pointerover">
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
</Style>
|
||||
<Style Selector="Button:pressed">
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Button Name="PART_CloseButton" Theme="{StaticResource CaptionButton}">
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Data="{DynamicResource WindowCloseIconGlyph}"
|
||||
Name="PART_CloseButtonIcon"
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{StaticResource WindowCloseIconGlyph}"
|
||||
Foreground="{Binding $parent[Button].Foreground}" />
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
|
||||
<Style Selector="^ /template/ Button#PART_CloseButton:pointerover">
|
||||
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonCloseForeground}" />
|
||||
<Setter Property="Background" Value="{DynamicResource CaptionButtonClosePointeroverBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^ /template/ Button#PART_CloseButton:pressed">
|
||||
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonCloseForeground}" />
|
||||
<Setter Property="Background" Value="{DynamicResource CaptionButtonClosePressedBackground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:maximized /template/ PathIcon#PART_RestoreButtonIcon">
|
||||
<Setter Property="Data" Value="{DynamicResource WindowRestoreGlyph}" />
|
||||
<Setter Property="Data" Value="{StaticResource WindowRestoreGlyph}" />
|
||||
</Style>
|
||||
<Style Selector="^:fullscreen /template/ PathIcon#PART_FullScreenButtonIcon">
|
||||
<Setter Property="Data" Value="{DynamicResource WindowCollapseGlyph}" />
|
||||
<Setter Property="Data" Value="{StaticResource WindowCollapseGlyph}" />
|
||||
</Style>
|
||||
<Style Selector="^:fullscreen /template/ Button#PART_RestoreButton">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
@@ -100,4 +98,4 @@
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary>
|
||||
@@ -12,7 +12,7 @@
|
||||
<ComboBoxItem>BBB</ComboBoxItem>
|
||||
<ComboBoxItem>CCC</ComboBoxItem>
|
||||
</ComboBox>
|
||||
<ComboBox Width="100" PlaceholderText="Select">
|
||||
<ComboBox Width="100" PlaceholderText="Select" PlaceholderForeground="Red">
|
||||
<ComboBoxItem>AAA</ComboBoxItem>
|
||||
<ComboBoxItem>BBB</ComboBoxItem>
|
||||
<ComboBoxItem>CCC</ComboBoxItem>
|
||||
@@ -44,6 +44,7 @@
|
||||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||||
<Setter Property="VerticalAlignment" Value="Top" />
|
||||
<Setter Property="MinHeight" Value="{DynamicResource ComboBoxDefaultHeight}" />
|
||||
<Setter Property="PlaceholderForeground" Value="{DynamicResource ComboBoxSelectorPlaceHolderForeground}"/>
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="ComboBox">
|
||||
<DataValidationErrors>
|
||||
@@ -65,9 +66,8 @@
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
Foreground="{TemplateBinding PlaceholderForeground}"
|
||||
IsVisible="{TemplateBinding SelectionBoxItem,Converter={x:Static ObjectConverters.IsNull}}"
|
||||
Opacity="0.3"
|
||||
Text="{TemplateBinding PlaceholderText}" />
|
||||
<ContentPresenter
|
||||
Name="ContentPresenter"
|
||||
|
||||
@@ -169,7 +169,6 @@
|
||||
<Grid
|
||||
Name="PART_ButtonContentGrid"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
ColumnDefinitions="78*,Auto,132*,Auto,78*">
|
||||
<TextBlock
|
||||
Name="PART_DayTextBlock"
|
||||
@@ -203,16 +202,12 @@
|
||||
Name="PART_FirstSpacer"
|
||||
Grid.Column="1"
|
||||
Width="1"
|
||||
Height="{TemplateBinding Height}"
|
||||
MinHeight="{TemplateBinding MinHeight}"
|
||||
HorizontalAlignment="Center"
|
||||
Fill="{DynamicResource DateTimePickerSeparatorBackground}" />
|
||||
<Rectangle
|
||||
Name="PART_SecondSpacer"
|
||||
Grid.Column="3"
|
||||
Width="1"
|
||||
Height="{TemplateBinding Height}"
|
||||
MinHeight="{TemplateBinding MinHeight}"
|
||||
HorizontalAlignment="Center"
|
||||
Fill="{DynamicResource DateTimePickerSeparatorBackground}" />
|
||||
</Grid>
|
||||
|
||||
@@ -23,21 +23,22 @@
|
||||
BorderThickness="0"
|
||||
Command="{Binding LineUp, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
CornerRadius="0"
|
||||
MinHeight="0"
|
||||
DockPanel.Dock="Top"
|
||||
RenderTransform="{x:Null}">
|
||||
<RepeatButton.IsVisible>
|
||||
<MultiBinding
|
||||
Converter="{x:Static converters:MenuScrollingVisibilityConverter.Instance}"
|
||||
ConverterParameter="0">
|
||||
<Binding Path="VerticalScrollBarVisibility"
|
||||
RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="VerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Offset.Y" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Extent.Height" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Viewport.Height" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
</MultiBinding>
|
||||
</RepeatButton.IsVisible>
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Data="{DynamicResource MenuScrollViewerUpButtonGlyph}"
|
||||
Foreground="{DynamicResource MenuFlyoutScrollViewerIconForeground}" />
|
||||
</RepeatButton>
|
||||
@@ -49,20 +50,21 @@
|
||||
Command="{Binding LineDown, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
CornerRadius="0"
|
||||
DockPanel.Dock="Bottom"
|
||||
MinHeight="0"
|
||||
RenderTransform="{x:Null}">
|
||||
<RepeatButton.IsVisible>
|
||||
<MultiBinding
|
||||
Converter="{x:Static converters:MenuScrollingVisibilityConverter.Instance}"
|
||||
ConverterParameter="100">
|
||||
<Binding Path="VerticalScrollBarVisibility"
|
||||
RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="VerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Offset.Y" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Extent.Height" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
<Binding Path="Viewport.Height" RelativeSource="{RelativeSource TemplatedParent}" />
|
||||
</MultiBinding>
|
||||
</RepeatButton.IsVisible>
|
||||
<PathIcon
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Data="{DynamicResource MenuScrollViewerDownButtonGlyph}"
|
||||
Foreground="{DynamicResource MenuFlyoutScrollViewerIconForeground}" />
|
||||
</RepeatButton>
|
||||
@@ -287,7 +289,7 @@
|
||||
<Setter Property="Content">
|
||||
<Template>
|
||||
<Ellipse Fill="{Binding $parent[MenuItem].Foreground}"
|
||||
Margin="4" Width="8" Height="8" />
|
||||
Margin="4" Width="6" Height="6" />
|
||||
</Template>
|
||||
</Setter>
|
||||
</Style>
|
||||
@@ -297,7 +299,7 @@
|
||||
<Setter Property="Background" Value="{DynamicResource MenuItemBackground}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource MenuItemForeground}" />
|
||||
<Setter Property="Cursor" Value="Hand" />
|
||||
<Setter Property="CornerRadius" Value="{DynamicResource MenuItemCornerRadius}"/>
|
||||
<Setter Property="CornerRadius" Value="{DynamicResource MenuItemCornerRadius}" />
|
||||
<!-- Narrow padding should be used for mouse input, when non-narrow one should be used for touch input in future. -->
|
||||
<Setter Property="Padding" Value="{DynamicResource MenuItemPadding}" />
|
||||
<Setter Property="Template">
|
||||
@@ -396,4 +398,4 @@
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary>
|
||||
@@ -2,7 +2,6 @@
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converters="using:Avalonia.Controls.Converters"
|
||||
xmlns:dialog="using:Avalonia.Dialogs"
|
||||
x:CompileBindings="True">
|
||||
<Design.PreviewWith>
|
||||
<StackPanel>
|
||||
@@ -18,15 +17,16 @@
|
||||
Height="400"
|
||||
Background="aqua" />
|
||||
</ScrollViewer>
|
||||
<dialog:ManagedFileChooser />
|
||||
</StackPanel>
|
||||
</Design.PreviewWith>
|
||||
<ControlTheme x:Key="ScrollBarRepeatButton" TargetType="{x:Type RepeatButton}">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Foreground" Value="Gray" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ScrollBarButtonDefaultForeground}" />
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate>
|
||||
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
|
||||
<Border
|
||||
Padding="{TemplateBinding Padding}"
|
||||
Background="{TemplateBinding Background}">
|
||||
<ContentPresenter
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
@@ -39,35 +39,42 @@
|
||||
|
||||
<ControlTheme x:Key="{x:Type ScrollBar}" TargetType="ScrollBar">
|
||||
<Setter Property="Cursor" Value="Arrow" />
|
||||
<Setter Property="Transitions">
|
||||
<Transitions>
|
||||
<DoubleTransition Property="Width" Duration="0:0:0.1" />
|
||||
<DoubleTransition Property="Height" Duration="0:0:0.1" />
|
||||
<!--<TransformOperationsTransition Property="RenderTransform" Duration="0:0:0.1" />-->
|
||||
</Transitions>
|
||||
</Setter>
|
||||
<Style Selector="^:horizontal">
|
||||
<Setter Property="Height" Value="{DynamicResource ScrollBarThickness}" />
|
||||
<Setter Property="Height" Value="{StaticResource ScrollBarThickness}" />
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="ScrollBar">
|
||||
<Border Background="{DynamicResource ScrollBarBackground}" UseLayoutRounding="False">
|
||||
<Border
|
||||
Background="{DynamicResource ScrollBarBackground}"
|
||||
UseLayoutRounding="False">
|
||||
<Grid Name="PART_RootGrid" ColumnDefinitions="Auto,*,Auto">
|
||||
<RepeatButton
|
||||
Name="PART_LineUpButton"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
MinWidth="{DynamicResource ScrollBarThickness}"
|
||||
Padding="4,0"
|
||||
MinWidth="{StaticResource ScrollBarThickness}"
|
||||
VerticalAlignment="Center"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}">
|
||||
Theme="{StaticResource ScrollBarRepeatButton}">
|
||||
<PathIcon
|
||||
Width="10"
|
||||
Height="10"
|
||||
Data="{DynamicResource ScrollBarLeftGlyph}" />
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Classes="Large"
|
||||
Data="{StaticResource ScrollBarLeftGlyph}" />
|
||||
</RepeatButton>
|
||||
<Track
|
||||
Grid.Column="1"
|
||||
DeferThumbDrag="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
|
||||
Maximum="{TemplateBinding Maximum}"
|
||||
Minimum="{TemplateBinding Minimum}"
|
||||
Orientation="{TemplateBinding Orientation}"
|
||||
ViewportSize="{TemplateBinding ViewportSize}"
|
||||
DeferThumbDrag="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
|
||||
Value="{TemplateBinding Value,
|
||||
Mode=TwoWay}">
|
||||
Value="{TemplateBinding Value, Mode=TwoWay}">
|
||||
<Track.DecreaseButton>
|
||||
<RepeatButton
|
||||
Name="PART_PageUpButton"
|
||||
@@ -76,7 +83,7 @@
|
||||
VerticalAlignment="Stretch"
|
||||
CornerRadius="0"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}" />
|
||||
Theme="{StaticResource ScrollBarRepeatButton}" />
|
||||
</Track.DecreaseButton>
|
||||
<Track.IncreaseButton>
|
||||
<RepeatButton
|
||||
@@ -86,7 +93,7 @@
|
||||
VerticalAlignment="Stretch"
|
||||
CornerRadius="0"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}" />
|
||||
Theme="{StaticResource ScrollBarRepeatButton}" />
|
||||
</Track.IncreaseButton>
|
||||
<Thumb Name="thumb" />
|
||||
</Track>
|
||||
@@ -94,14 +101,13 @@
|
||||
Name="PART_LineDownButton"
|
||||
Grid.Column="2"
|
||||
MinWidth="{DynamicResource ScrollBarThickness}"
|
||||
Padding="4,0"
|
||||
VerticalAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}">
|
||||
<PathIcon
|
||||
Width="10"
|
||||
Height="10"
|
||||
Theme="{DynamicResource InnerPathIcon}"
|
||||
Classes="Large"
|
||||
Data="{DynamicResource ScrollBarRightGlyph}" />
|
||||
</RepeatButton>
|
||||
</Grid>
|
||||
@@ -110,36 +116,36 @@
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style Selector="^:vertical">
|
||||
<Setter Property="Width" Value="{DynamicResource ScrollBarThickness}" />
|
||||
<Setter Property="Width" Value="{StaticResource ScrollBarThickness}" />
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="ScrollBar">
|
||||
<Border Background="{DynamicResource ScrollBarBackground}" UseLayoutRounding="False">
|
||||
<Border
|
||||
Background="{DynamicResource ScrollBarBackground}"
|
||||
UseLayoutRounding="False">
|
||||
<Grid RowDefinitions="Auto,*,Auto">
|
||||
<RepeatButton
|
||||
Name="PART_LineUpButton"
|
||||
Grid.Row="0"
|
||||
MinHeight="{DynamicResource ScrollBarThickness}"
|
||||
Padding="0,4"
|
||||
MinHeight="{StaticResource ScrollBarThickness}"
|
||||
VerticalAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}">
|
||||
Theme="{StaticResource ScrollBarRepeatButton}">
|
||||
<PathIcon
|
||||
Width="10"
|
||||
Height="10"
|
||||
Data="{DynamicResource ScrollBarUpGlyph}" />
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Classes="Large"
|
||||
Data="{StaticResource ScrollBarUpGlyph}" />
|
||||
</RepeatButton>
|
||||
<Track
|
||||
Grid.Row="1"
|
||||
DeferThumbDrag="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
|
||||
IsDirectionReversed="True"
|
||||
Maximum="{TemplateBinding Maximum}"
|
||||
Minimum="{TemplateBinding Minimum}"
|
||||
Orientation="{TemplateBinding Orientation}"
|
||||
ViewportSize="{TemplateBinding ViewportSize}"
|
||||
DeferThumbDrag="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
|
||||
Value="{TemplateBinding Value,
|
||||
Mode=TwoWay}">
|
||||
Value="{TemplateBinding Value, Mode=TwoWay}">
|
||||
<Track.DecreaseButton>
|
||||
<RepeatButton
|
||||
Name="PART_PageUpButton"
|
||||
@@ -148,7 +154,7 @@
|
||||
VerticalAlignment="Stretch"
|
||||
CornerRadius="0"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}" />
|
||||
Theme="{StaticResource ScrollBarRepeatButton}" />
|
||||
</Track.DecreaseButton>
|
||||
<Track.IncreaseButton>
|
||||
<RepeatButton
|
||||
@@ -158,23 +164,22 @@
|
||||
VerticalAlignment="Stretch"
|
||||
CornerRadius="0"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}" />
|
||||
Theme="{StaticResource ScrollBarRepeatButton}" />
|
||||
</Track.IncreaseButton>
|
||||
<Thumb Name="thumb" />
|
||||
</Track>
|
||||
<RepeatButton
|
||||
Name="PART_LineDownButton"
|
||||
Grid.Row="2"
|
||||
MinHeight="{DynamicResource ScrollBarThickness}"
|
||||
Padding="0,4"
|
||||
MinHeight="{StaticResource ScrollBarThickness}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Focusable="False"
|
||||
Theme="{DynamicResource ScrollBarRepeatButton}">
|
||||
Theme="{StaticResource ScrollBarRepeatButton}">
|
||||
<PathIcon
|
||||
Width="10"
|
||||
Height="10"
|
||||
Data="{DynamicResource ScrollBarDownGlyph}" />
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Classes="Large"
|
||||
Data="{StaticResource ScrollBarDownGlyph}" />
|
||||
</RepeatButton>
|
||||
</Grid>
|
||||
</Border>
|
||||
@@ -215,6 +220,18 @@
|
||||
<Setter Property="RenderTransform" Value="scale(0.92)" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^[IsExpanded=False]">
|
||||
<Style Selector="^ /template/ RepeatButton">
|
||||
<Setter Property="IsVisible" Value="False"/>
|
||||
</Style>
|
||||
<Style Selector="^:vertical">
|
||||
<Setter Property="Width" Value="2" />
|
||||
</Style>
|
||||
<Style Selector="^:horizontal">
|
||||
<Setter Property="Height" Value="2" />
|
||||
</Style>
|
||||
</Style>
|
||||
|
||||
</ControlTheme>
|
||||
<ControlTheme x:Key="{x:Type ScrollViewer}" TargetType="ScrollViewer">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
@@ -249,14 +266,11 @@
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Orientation="Vertical" />
|
||||
<Panel
|
||||
Grid.Row="1"
|
||||
Grid.Column="1" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ ScrollBar">
|
||||
<Setter Property="Opacity" Value="0"></Setter>
|
||||
<Setter Property="Opacity" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:pointerover">
|
||||
<Style Selector="^ /template/ ScrollBar#PART_HorizontalScrollBar">
|
||||
@@ -299,9 +313,6 @@
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Orientation="Vertical" />
|
||||
<Panel
|
||||
Grid.Row="1"
|
||||
Grid.Column="1" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
@@ -354,4 +365,4 @@
|
||||
<Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonPointeroverForeground}" />
|
||||
</Style>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary>
|
||||
@@ -377,9 +377,10 @@
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="Padding" Value="{DynamicResource ButtonDefaultPadding}" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultPrimaryForeground}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBorderlessBackground}" />
|
||||
<Setter Property="BackgroundSizing" Value="OuterBorderEdge" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultBorderBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderlessBorderBrush}" />
|
||||
<Setter Property="BorderThickness" Value="{DynamicResource ButtonBorderThickness}" />
|
||||
<Setter Property="CornerRadius" Value="{DynamicResource ButtonCornerRadius}" />
|
||||
<Setter Property="Cursor" Value="Hand" />
|
||||
@@ -404,15 +405,18 @@
|
||||
<ContentPresenter
|
||||
Name="PART_OnContentPresenter"
|
||||
IsVisible="{TemplateBinding IsChecked}"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
Content="{TemplateBinding OnContent}"
|
||||
ContentTemplate="{TemplateBinding OnContentTemplate}" />
|
||||
<ContentPresenter
|
||||
Name="PART_OffContentPresenter"
|
||||
IsVisible="{TemplateBinding IsChecked, Converter={x:Static BoolConverters.Not}}"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
Content="{TemplateBinding OffContent}"
|
||||
ContentTemplate="{TemplateBinding OffContentTemplate}" />
|
||||
<ContentPresenter
|
||||
Name="PART_ContentPresenter"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
Content="{TemplateBinding Content}"
|
||||
ContentTemplate="{TemplateBinding ContentTemplate}">
|
||||
<ContentPresenter.IsVisible>
|
||||
@@ -432,24 +436,20 @@
|
||||
<Setter Property="RenderTransform" Value="scale(0.98)" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^ /template/ Border#Background">
|
||||
<Setter Property="BorderBrush" Value="{TemplateBinding BorderBrush}" />
|
||||
<Setter Property="Background" Value="{TemplateBinding Background}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:pointerover /template/ Border#Background">
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultPointeroverBorderBrush}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonDefaultPointeroverBackground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:pressed /template/ Border#Background">
|
||||
<Style Selector="^:pressed">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultPressedBorderBrush}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonDefaultPressedBackground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:disabled /template/ Border#Background">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultDisabledBorderBrush}" />
|
||||
<!-- <Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" /> -->
|
||||
<Style Selector="^:disabled">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderlessBorderBrush}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBorderlessBackground}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^.Large">
|
||||
@@ -460,15 +460,5 @@
|
||||
<Setter Property="MinHeight" Value="{DynamicResource ButtonSmallHeight}" />
|
||||
<Setter Property="Padding" Value="{DynamicResource ButtonSmallPadding}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^ /template/ Border#Background">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderlessBorderBrush}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBorderlessBackground}" />
|
||||
</Style>
|
||||
<Style Selector="^:disabled /template/ Border#Background">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderlessBorderBrush}" />
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBorderlessBackground}" />
|
||||
<!-- <Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" /> -->
|
||||
</Style>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
59
src/Semi.Avalonia/Extensions/ApplicationExtension.cs
Normal file
59
src/Semi.Avalonia/Extensions/ApplicationExtension.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using Avalonia;
|
||||
using Avalonia.Media;
|
||||
using Avalonia.Platform;
|
||||
using Avalonia.Styling;
|
||||
|
||||
namespace Semi.Avalonia;
|
||||
|
||||
public static class ApplicationExtension
|
||||
{
|
||||
private static Application _app = null!;
|
||||
|
||||
private static readonly Dictionary<Color, ThemeVariant> ColorThemeMap = new()
|
||||
{
|
||||
[Color.Parse("#8EE3F0")] = SemiTheme.Aquatic,
|
||||
[Color.Parse("#903909")] = SemiTheme.Desert,
|
||||
[Color.Parse("#A1BFDE")] = SemiTheme.Dusk,
|
||||
[Color.Parse("#D6B4FD")] = SemiTheme.NightSky
|
||||
};
|
||||
|
||||
public static void RegisterFollowSystemTheme(this Application app)
|
||||
{
|
||||
_app = app;
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return;
|
||||
if (app.PlatformSettings is null) return;
|
||||
app.PlatformSettings.ColorValuesChanged -= OnColorValuesChanged;
|
||||
app.PlatformSettings.ColorValuesChanged += OnColorValuesChanged;
|
||||
OnColorValuesChanged(null, app.PlatformSettings?.GetColorValues());
|
||||
}
|
||||
|
||||
public static void UnregisterFollowSystemTheme(this Application app)
|
||||
{
|
||||
_app = app;
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return;
|
||||
if (app.PlatformSettings is null) return;
|
||||
app.PlatformSettings.ColorValuesChanged -= OnColorValuesChanged;
|
||||
}
|
||||
|
||||
private static void OnColorValuesChanged(object? _, PlatformColorValues? args)
|
||||
{
|
||||
ThemeVariant result;
|
||||
if (args?.ContrastPreference is ColorContrastPreference.High)
|
||||
{
|
||||
result = ColorThemeMap.TryGetValue(args.AccentColor1, out var theme) ? theme : ThemeVariant.Default;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = args?.ThemeVariant switch
|
||||
{
|
||||
PlatformThemeVariant.Light => ThemeVariant.Light,
|
||||
PlatformThemeVariant.Dark => ThemeVariant.Dark,
|
||||
_ => ThemeVariant.Default
|
||||
};
|
||||
}
|
||||
|
||||
_app.RequestedThemeVariant = result;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:semi="https://irihi.tech/semi">
|
||||
<Styles.Resources>
|
||||
<ResourceDictionary>
|
||||
@@ -12,8 +13,8 @@
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Controls/_index.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Themes/Base.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Themes/Shared/_index.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Tokens/Variables.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Locale/zh-cn.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Icons/_index.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
26
src/Semi.Avalonia/Locale/de-de.axaml
Normal file
26
src/Semi.Avalonia/Locale/de-de.axaml
Normal file
@@ -0,0 +1,26 @@
|
||||
<ResourceDictionary x:Class="Semi.Avalonia.Locale.de_de"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- DatePicker -->
|
||||
<x:String x:Key="STRING_DATEPICKER_DAY_TEXT">Tag</x:String>
|
||||
<x:String x:Key="STRING_DATEPICKER_MONTH_TEXT">Monat</x:String>
|
||||
<x:String x:Key="STRING_DATEPICKER_YEAR_TEXT">Jahr</x:String>
|
||||
<!-- TimePicker -->
|
||||
<x:String x:Key="STRING_TIMEPICKER_HOUR_TEXT">Stunde</x:String>
|
||||
<x:String x:Key="STRING_TIMEPICKER_MINUTE_TEXT">Minute</x:String>
|
||||
<x:String x:Key="STRING_TIMEPICKER_SECOND_TEXT">Sekunde</x:String>
|
||||
<!-- TextBox/SelectableTextBox flyout -->
|
||||
<x:String x:Key="STRING_MENU_CUT">Ausschneiden</x:String>
|
||||
<x:String x:Key="STRING_MENU_COPY">Kopieren</x:String>
|
||||
<x:String x:Key="STRING_MENU_PASTE">Einfügen</x:String>
|
||||
<!-- ManagedFileChooser -->
|
||||
<x:String x:Key="STRING_CHOOSER_FILE_NAME">Dateiname</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_SHOW_HIDDEN_FILES">Ausgeblendete Elemente anzeigen</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_DIALOG_OK">OK</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_DIALOG_CANCEL">Abbrechen</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_NAME_COLUMN">Name</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_DATEMODIFIED_COLUMN">Änderungsdatum</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_TYPE_COLUMN">Typ</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_SIZE_COLUMN">Größe</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_PROMPT_FILE_ALREADY_EXISTS">Die Datei {0} existiert bereits. Möchten Sie sie ersetzen?</x:String>
|
||||
</ResourceDictionary>
|
||||
8
src/Semi.Avalonia/Locale/de-de.axaml.cs
Normal file
8
src/Semi.Avalonia/Locale/de-de.axaml.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Semi.Avalonia.Locale;
|
||||
|
||||
public class de_de : ResourceDictionary
|
||||
{
|
||||
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
<x:String x:Key="STRING_MENU_PASTE">Paste</x:String>
|
||||
<!-- ManagedFileChooser -->
|
||||
<x:String x:Key="STRING_CHOOSER_FILE_NAME">File name</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_SHOW_HIDDEN_FILES">Show hidden flies</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_SHOW_HIDDEN_FILES">Show hidden files</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_DIALOG_OK">OK</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_DIALOG_CANCEL">Cancel</x:String>
|
||||
<x:String x:Key="STRING_CHOOSER_NAME_COLUMN">Name</x:String>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<Title>Semi.Avalonia</Title>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia 11.2.1.2</PackageReleaseNotes>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia 11.2.1.5</PackageReleaseNotes>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<Styles x:Class="Semi.Avalonia.SemiTheme" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
<Styles x:Class="Semi.Avalonia.SemiTheme"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:semi="https://irihi.tech/semi">
|
||||
<Styles.Resources>
|
||||
<ResourceDictionary>
|
||||
@@ -12,8 +14,8 @@
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Controls/_index.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Themes/Base.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Themes/Shared/_index.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Tokens/Variables.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Locale/zh-cn.axaml" />
|
||||
<ResourceInclude Source="avares://Semi.Avalonia/Icons/_index.axaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Styling;
|
||||
@@ -10,11 +11,6 @@ namespace Semi.Avalonia;
|
||||
|
||||
public class SemiTheme : Styles
|
||||
{
|
||||
public static ThemeVariant Aquatic => new ThemeVariant(nameof(Aquatic), ThemeVariant.Dark);
|
||||
public static ThemeVariant Desert => new ThemeVariant(nameof(Desert), ThemeVariant.Light);
|
||||
public static ThemeVariant Dusk => new ThemeVariant(nameof(Dusk), ThemeVariant.Dark);
|
||||
public static ThemeVariant NightSky => new ThemeVariant(nameof(NightSky), ThemeVariant.Dark);
|
||||
|
||||
private static readonly Dictionary<CultureInfo, ResourceDictionary> _localeToResource = new()
|
||||
{
|
||||
{ new CultureInfo("zh-cn"), new zh_cn() },
|
||||
@@ -23,41 +19,89 @@ public class SemiTheme : Styles
|
||||
{ new CultureInfo("uk-ua"), new uk_ua() },
|
||||
{ new CultureInfo("ru-ru"), new ru_ru() },
|
||||
{ new CultureInfo("zh-tw"), new zh_tw() },
|
||||
{ new CultureInfo("de-de"), new de_de() },
|
||||
};
|
||||
|
||||
private readonly IServiceProvider? sp;
|
||||
private static readonly ResourceDictionary _defaultResource = new zh_cn();
|
||||
|
||||
private CultureInfo? _locale;
|
||||
|
||||
public SemiTheme(IServiceProvider? provider = null)
|
||||
{
|
||||
sp = provider;
|
||||
AvaloniaXamlLoader.Load(provider, this);
|
||||
}
|
||||
|
||||
private CultureInfo? _locale;
|
||||
public static ThemeVariant Aquatic => new(nameof(Aquatic), ThemeVariant.Dark);
|
||||
public static ThemeVariant Desert => new(nameof(Desert), ThemeVariant.Light);
|
||||
public static ThemeVariant Dusk => new(nameof(Dusk), ThemeVariant.Dark);
|
||||
public static ThemeVariant NightSky => new(nameof(NightSky), ThemeVariant.Dark);
|
||||
|
||||
public CultureInfo? Locale
|
||||
{
|
||||
get => _locale;
|
||||
set
|
||||
{
|
||||
_locale = value;
|
||||
var resource = TryGetLocaleResource(value);
|
||||
if (resource is null) return;
|
||||
foreach (var kv in resource)
|
||||
try
|
||||
{
|
||||
this.Resources.Add(kv);
|
||||
if (TryGetLocaleResource(value, out var resource) && resource is not null)
|
||||
{
|
||||
_locale = value;
|
||||
foreach (var kv in resource) Resources[kv.Key] = kv.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
_locale = new CultureInfo("zh-CN");
|
||||
foreach (var kv in _defaultResource) Resources[kv.Key] = kv.Value;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
_locale = CultureInfo.InvariantCulture;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static ResourceDictionary? TryGetLocaleResource(CultureInfo? locale)
|
||||
private static bool TryGetLocaleResource(CultureInfo? locale, out ResourceDictionary? resourceDictionary)
|
||||
{
|
||||
if (Equals(locale, CultureInfo.InvariantCulture))
|
||||
{
|
||||
resourceDictionary = _defaultResource;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (locale is null)
|
||||
{
|
||||
return _localeToResource[new CultureInfo("zh-cn")];
|
||||
resourceDictionary = _defaultResource;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_localeToResource.TryGetValue(locale, out var resource))
|
||||
{
|
||||
return resource;
|
||||
resourceDictionary = resource;
|
||||
return true;
|
||||
}
|
||||
|
||||
resourceDictionary = _defaultResource;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void OverrideLocaleResources(Application application, CultureInfo? culture)
|
||||
{
|
||||
if (culture is null) return;
|
||||
if (!_localeToResource.TryGetValue(culture, out var resources)) return;
|
||||
foreach (var kv in resources)
|
||||
{
|
||||
application.Resources[kv.Key] = kv.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public static void OverrideLocaleResources(StyledElement element, CultureInfo? culture)
|
||||
{
|
||||
if (culture is null) return;
|
||||
if (!_localeToResource.TryGetValue(culture, out var resources)) return;
|
||||
foreach (var kv in resources)
|
||||
{
|
||||
element.Resources[kv.Key] = kv.Value;
|
||||
}
|
||||
return _localeToResource[new CultureInfo("zh-cn")];
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary x:Key="Default">
|
||||
<SolidColorBrush x:Key="DefaultForeground" Color="#1C1F23" />
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Dark">
|
||||
<SolidColorBrush x:Key="DefaultForeground" Color="#F9F9F9" />
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
<x:Double x:Key="DefaultFontSize">14</x:Double>
|
||||
<FontFamily x:Key="DefaultFontFamily">Inter, -apple-system,BlinkMacSystemFont,PingFang SC, Microsoft YaHei, Segoe UI, Hiragino Sans GB, Helvetica Neue,Helvetica,Arial,sans-serif</FontFamily>
|
||||
<FontFamily x:Key="CodeFontFamily">Cascadia Code, Consolas, Inconsolata, monospace</FontFamily>
|
||||
</ResourceDictionary>
|
||||
@@ -1,6 +1,7 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StaticResource x:Key="CaptionButtonPointeroverBackground" ResourceKey="SemiColorFill1" />
|
||||
<StaticResource x:Key="CaptionButtonPressedBackground" ResourceKey="SemiColorFill2" />
|
||||
<StaticResource x:Key="CaptionButtonCloseForeground" ResourceKey="SemiColorWhite" />
|
||||
<StaticResource x:Key="CaptionButtonClosePointeroverBackground" ResourceKey="SemiColorDangerPointerover" />
|
||||
<StaticResource x:Key="CaptionButtonClosePressedBackground" ResourceKey="SemiColorDangerActive" />
|
||||
<StaticResource x:Key="CaptionButtonForeground" ResourceKey="SemiColorText2" />
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StaticResource x:Key="ComboBoxSelectorBackground" ResourceKey="SemiColorFill0" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPlaceHolderForeground" ResourceKey="SemiColorText2" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPointeroverBackground" ResourceKey="SemiColorFill1" />
|
||||
<StaticResource x:Key="ComboBoxSelectorFocusBackground" ResourceKey="SemiColorFill1" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPressedBackground" ResourceKey="SemiColorFill2" />
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StaticResource x:Key="WindowDefaultBackground" ResourceKey="SemiColorBackground0" />
|
||||
<StaticResource x:Key="WindowDefaultForeground" ResourceKey="SemiColorText0" />
|
||||
<StaticResource x:Key="DefaultForeground" ResourceKey="SemiColorText0" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="AdornerLayerBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="AdornerSolidLayerBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="AdornerLayerBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="AdornerSolidLayerBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="AutoCompleteBoxPopupBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="AutoCompleteBoxPopupBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<StaticResource x:Key="AutoCompleteBoxPopupBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="AutoCompleteBoxPopupBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="BorderCardBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="BorderCardBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="BorderCardBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="BorderCardBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,48 +1,39 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Light -->
|
||||
<SolidColorBrush x:Key="ButtonDefaultPrimaryForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonDefaultBackground" Color="{StaticResource ButtonFaceColor}" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonDefaultBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="ButtonDefaultPrimaryForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonDefaultDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ButtonDefaultBackground" ResourceKey="SemiColorButtonFace" />
|
||||
<StaticResource x:Key="ButtonDefaultPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonDefaultPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonDefaultBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonDefaultPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultPressedBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonDefaultDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<StaticResource x:Key="ButtonDefaultDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<!-- end Light -->
|
||||
|
||||
<!-- Solid -->
|
||||
<SolidColorBrush x:Key="ButtonSolidForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryPointeroverBackground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryPressedForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryPressedBackground" Color="{StaticResource ButtonFaceColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryPointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidPrimaryPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ButtonSolidDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSolidDisabledForeground" Color="{StaticResource ButtonFaceColor}" />
|
||||
<StaticResource x:Key="ButtonSolidForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryPointeroverBackground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryPressedForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryPressedBackground" ResourceKey="SemiColorButtonFace" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryPointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonSolidPrimaryPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonSolidDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ButtonSolidDisabledForeground" ResourceKey="SemiColorButtonFace" />
|
||||
<SolidColorBrush x:Key="ButtonSolidDisabledBorderBrush" Color="Transparent" />
|
||||
<!-- end Solid -->
|
||||
|
||||
<!-- Borderless -->
|
||||
<SolidColorBrush x:Key="ButtonBorderlessBackground" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonBorderlessBorderBrush" Color="Transparent" />
|
||||
<!-- end Borderless -->
|
||||
|
||||
<!-- Outline -->
|
||||
<SolidColorBrush x:Key="ButtonOutlineBackground" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ButtonOutlineBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonOutlinePointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonOutlinePressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="ButtonOutlineBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ButtonOutlinePointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonOutlinePressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<!-- end Outline -->
|
||||
|
||||
<SolidColorBrush x:Key="ButtonInputInnerForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonInputInnerPointeroverForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ButtonInputInnerPressedForeground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="ButtonInputInnerForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonInputInnerPointeroverForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonInputInnerPressedForeground" ResourceKey="SemiColorHighlight" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,9 +1,9 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonBackground" Color="{StaticResource ButtonFaceColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ButtonSpinnerRepeatButtonBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonBackground" ResourceKey="SemiColorButtonFace" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ButtonSpinnerRepeatButtonBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,35 +1,29 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="CalendarBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CalendarForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemWeekDayNameForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemIconForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="CalendarBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CalendarForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarItemWeekDayNameForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarItemIconForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonSelectedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonSelectedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonBlackoutForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarButtonInactiveForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonSelectedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonSelectedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonBlackoutForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarButtonInactiveForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonBackground" ResourceKey="SemiColorWindow" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonBorderBrush" Color="Transparent" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonSelectedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonSelectedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonTodayForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonTodayBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonBlackoutForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarItemCalendarDayButtonInactiveForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonSelectedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonSelectedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonTodayForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonTodayBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonBlackoutForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarItemCalendarDayButtonInactiveForeground" ResourceKey="SemiColorGrayText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,12 +1,12 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="CalendarDatePickerIconForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerIconPointeroverForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerFocusBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerDisabledIconForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CalendarDatePickerBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<StaticResource x:Key="CalendarDatePickerIconForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="CalendarDatePickerForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CalendarDatePickerIconPointeroverForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarDatePickerBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CalendarDatePickerPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CalendarDatePickerPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarDatePickerFocusBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CalendarDatePickerDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CalendarDatePickerDisabledIconForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CalendarDatePickerBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +1,8 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="CaptionButtonPointeroverBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="CaptionButtonPressedBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="CaptionButtonClosePointeroverBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="CaptionButtonClosePressedBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="CaptionButtonForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<StaticResource x:Key="CaptionButtonPointeroverBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="CaptionButtonPressedBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="CaptionButtonCloseForeground" ResourceKey="SemiColorWhite" />
|
||||
<StaticResource x:Key="CaptionButtonClosePointeroverBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="CaptionButtonClosePressedBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="CaptionButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,34 +1,29 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="CheckBoxForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CheckBoxGlyphFill" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxGlyphDisabledFill" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CheckBoxDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxDefaultBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedDefaultBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedDefaultBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedPointeroverBackground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedPointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CheckBoxDefaultDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxDefaultDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCheckedDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="CheckBoxCardCheckedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardCheckedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardCheckedDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardCheckedPointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="CheckBoxCardCheckedPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="CheckBoxForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="CheckBoxDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CheckBoxGlyphFill" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CheckBoxGlyphDisabledFill" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CheckBoxDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CheckBoxDefaultBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="CheckBoxPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CheckBoxPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxCheckedDefaultBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxCheckedDefaultBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxCheckedPointeroverBackground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="CheckBoxCheckedPointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="CheckBoxCheckedPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxCheckedPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxDefaultDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CheckBoxDefaultDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CheckBoxCheckedDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CheckBoxCheckedDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CheckBoxCardCheckedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CheckBoxCardCheckedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="CheckBoxCardCheckedDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="CheckBoxCardPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="CheckBoxCardPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="CheckBoxCardCheckedPointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="CheckBoxCardCheckedPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,39 +1,34 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorFocusBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorFocusBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxSelectorPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxIconDefaultForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxIconPointeroverForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxIconFocusForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxIconPressedForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxIconDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxPopupBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxPopupBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxItemForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxItemBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemPointeroverForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemPointeroverBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemFocusForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemFocusBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemPressedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemSelectedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemSelectedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemSelectedPointeroverBackground" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ComboBoxItemDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ComboBoxItemSelectedDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="ComboBoxSelectorBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPlaceHolderForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxSelectorFocusBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxSelectorDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxSelectorDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ComboBoxSelectorBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxSelectorFocusBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxSelectorPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxIconDefaultForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxIconPointeroverForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxIconFocusForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxIconPressedForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxIconDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ComboBoxDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ComboBoxPopupBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxPopupBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ComboBoxItemForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ComboBoxItemBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxItemPointeroverForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxItemPointeroverBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxItemFocusForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxItemFocusBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxItemPressedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxItemPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxItemSelectedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ComboBoxItemSelectedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxItemSelectedPointeroverBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ComboBoxItemDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ComboBoxItemSelectedDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,28 +1,22 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="DateTimePickerListItemBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerPopupBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerPopupBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonPointeroverForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonPressedForeground" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerFlyoutButtonPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="DateTimePickerSeparatorBackground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="DateTimePickerIconForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerEmptyForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="DateTimePickerButtonDisabledIconForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<StaticResource x:Key="DateTimePickerListItemBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerPopupBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerPopupBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonPointeroverForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonPressedForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="DateTimePickerFlyoutButtonPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerSeparatorBackground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerButtonBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="DateTimePickerButtonBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerIconForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerEmptyForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="DateTimePickerButtonPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="DateTimePickerButtonPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="DateTimePickerButtonDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="DateTimePickerButtonDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="DateTimePickerButtonDisabledIconForeground" ResourceKey="SemiColorGrayText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,9 +1,9 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ExpanderSeparatorBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderHeaderForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderHeaderDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderHeaderDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderHeaderHoverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderHeaderPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ExpanderContentForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="ExpanderSeparatorBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ExpanderHeaderForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ExpanderHeaderDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ExpanderHeaderDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ExpanderHeaderHoverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ExpanderHeaderPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ExpanderContentForeground" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,5 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="FlyoutBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="FlyoutForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="FlyoutBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="FlyoutBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="FlyoutForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="FlyoutBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="GridSplitterBackground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="GridSplitterPreviewBackground" Color="{StaticResource HotlightColor}" />
|
||||
<StaticResource x:Key="GridSplitterBackground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="GridSplitterPreviewBackground" ResourceKey="SemiColorHotlight" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="HeaderedContentControlBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="HeaderedContentControlBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StaticResource x:Key="HeaderedContentControlBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="HeaderedContentControlBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +1,7 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="HyperlinkButtonForeground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="HyperlinkButtonPointeroverForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="HyperlinkButtonPressedForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="HyperlinkButtonDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="HyperlinkButtonVisitedForeground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="HyperlinkButtonForeground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="HyperlinkButtonPointeroverForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="HyperlinkButtonPressedForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="HyperlinkButtonDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="HyperlinkButtonVisitedForeground" ResourceKey="SemiColorHighlight" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,15 +1,14 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- ListBox -->
|
||||
<SolidColorBrush x:Key="ListBoxItemDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ListBoxItemDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemPointeroverForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemPointeroverBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemPressedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemSelectedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemSelectedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemSelectedPointeroverBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxItemSelectedDisabledBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<StaticResource x:Key="ListBoxItemDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ListBoxItemDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ListBoxItemPointeroverForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ListBoxItemPointeroverBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ListBoxItemPressedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ListBoxItemPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ListBoxItemSelectedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ListBoxItemSelectedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ListBoxItemSelectedPointeroverBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ListBoxItemDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ListBoxItemSelectedDisabledBackground" ResourceKey="SemiColorHighlightText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ManagedFileChooserIconForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ManagedFileChooserTextForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="ManagedFileChooserIconForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ManagedFileChooserTextForeground" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,24 +1,19 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="MenuFlyoutScrollViewerIconForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<StaticResource x:Key="MenuFlyoutScrollViewerIconForeground" ResourceKey="SemiColorWindowText" />
|
||||
<!-- MenuFlyout -->
|
||||
<SolidColorBrush x:Key="MenuFlyoutBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="MenuFlyoutBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<StaticResource x:Key="MenuFlyoutBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="MenuFlyoutBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<!-- MenuItem -->
|
||||
<SolidColorBrush x:Key="MenuItemBackground" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="MenuItemForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="MenuItemSeparatorBackground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemPointeroverForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemPointeroverBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="MenuItemInputGestureTextForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemExpandIconForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemExpandIconOpenForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="MenuItemDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemDisabledInputGestureTextForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="MenuItemDisabledExpandIconForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<StaticResource x:Key="MenuItemForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="MenuItemSeparatorBackground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="MenuItemPointeroverForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="MenuItemPointeroverBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="MenuItemPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="MenuItemInputGestureTextForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="MenuItemExpandIconForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="MenuItemExpandIconOpenForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="MenuItemDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="MenuItemDisabledInputGestureTextForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="MenuItemDisabledExpandIconForeground" ResourceKey="SemiColorGrayText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,8 +1,7 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="NotificationCardBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="NotificationCardBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="NotificationCardTitleForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="NotificationCardMessageForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="NotificationCardLightBackground" Color="{StaticResource WindowColor}" />
|
||||
</ResourceDictionary>
|
||||
<StaticResource x:Key="NotificationCardBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="NotificationCardBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="NotificationCardTitleForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="NotificationCardMessageForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="NotificationCardLightBackground" ResourceKey="SemiColorWindow" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,8 +1,8 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ProgressBarIndicatorBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ProgressBarBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ProgressBarTextForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ProgressBarOuterTextForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ProgressBarRootBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ProgressBarPrimaryForeground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ProgressBarOuterTextForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ProgressBarRootBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorHighlight" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,49 +1,41 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- RadioButton -->
|
||||
<SolidColorBrush x:Key="RadioButtonDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconPointeroverBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconDefaultBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconPressedBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonUncheckIconDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconDefaultBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconPointeroverBackground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconDefaultBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconPointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckIconDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCheckGlyphFill" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="RadioButtonForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonDefaultBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<StaticResource x:Key="RadioButtonDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconPointeroverBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconDefaultBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconPressedBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="RadioButtonUncheckIconDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconDefaultBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconPointeroverBackground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconDefaultBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconPointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCheckIconDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="RadioButtonCheckGlyphFill" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="RadioButtonForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="RadioButtonDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonDefaultBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<SolidColorBrush x:Key="RadioButtonGroupBackground" Opacity="0.12" Color="White" />
|
||||
|
||||
<!-- ButtonRadioButton -->
|
||||
<SolidColorBrush x:Key="RadioButtonButtonUncheckedForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonButtonUncheckedPointeroverBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonButtonUncheckedDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonButtonCheckedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonButtonCheckedForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonButtonCheckedDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<StaticResource x:Key="RadioButtonButtonUncheckedForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="RadioButtonButtonUncheckedPointeroverBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonButtonUncheckedDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="RadioButtonButtonCheckedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="RadioButtonButtonCheckedForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonButtonCheckedDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<!-- CardRadioButton -->
|
||||
<SolidColorBrush x:Key="RadioButtonCardDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardDefaultBorderBrush" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardCheckedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardCheckDefaultBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardCheckPointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardCheckPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardUncheckPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="RadioButtonCardUncheckPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="RadioButtonCardDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonCardDefaultBorderBrush" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="RadioButtonCardCheckedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="RadioButtonCardCheckDefaultBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCardCheckPointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="RadioButtonCardCheckPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="RadioButtonCardUncheckPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="RadioButtonCardUncheckPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,4 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="RefreshVisualizerIconForeground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="RefreshVisualizerIconForeground" ResourceKey="SemiColorHighlight" />
|
||||
<SolidColorBrush x:Key="RefreshVisualizerIconBackground" Color="Transparent" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +1,7 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ScrollBarButtonDefaultForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ScrollBarButtonPointeroverForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ScrollBarThumbForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ScrollBarThumbPointeroverForeground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="ScrollBarButtonDefaultForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ScrollBarButtonPointeroverForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ScrollBarThumbForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ScrollBarThumbPointeroverForeground" ResourceKey="SemiColorHighlight" />
|
||||
<SolidColorBrush x:Key="ScrollBarBackground" Color="Transparent" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,14 +1,12 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="SliderTrackForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="SliderTrackBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="SliderTickForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="SliderThumbBackground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="SliderThumbBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="SliderThumbPointeroverBorderBrush" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="SliderThumbPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="SliderTrackDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="SliderThumbDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="SliderTrackDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="SliderTrackForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="SliderTrackBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="SliderTickForeground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="SliderThumbBackground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="SliderThumbBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="SliderThumbPointeroverBorderBrush" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="SliderThumbPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="SliderTrackDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="SliderThumbDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="SliderTrackDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,5 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="SplitViewSeparatorBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<StaticResource x:Key="SplitViewSeparatorBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<SolidColorBrush x:Key="SplitViewMaskBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="SplitViewPaneBackground" Color="{StaticResource WindowColor}" />
|
||||
<StaticResource x:Key="SplitViewPaneBackground" ResourceKey="SemiColorWindow" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,11 +1,10 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Line -->
|
||||
<SolidColorBrush x:Key="TabItemLinePipeBackground" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="TabItemLinePipeSelectedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TabItemLinePipePointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TabItemLinePipePressedBorderBrush" Color="{StaticResource HotlightColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="TabItemLineHeaderForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="TabItemLineHeaderPointeroverForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="TabItemLineHeaderSelectedForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="TabItemLinePipeSelectedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TabItemLinePipePointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TabItemLinePipePressedBorderBrush" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="TabItemLineHeaderForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TabItemLineHeaderPointeroverForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TabItemLineHeaderSelectedForeground" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,10 +1,9 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="TextBlockDefaultForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBlockDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBlockCodeForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBlockCodeBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="TextBlockCodeBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="TextBlockSelectionBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TextBlockSelectionForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<StaticResource x:Key="TextBlockDefaultForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBlockDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="TextBlockCodeForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBlockCodeBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="TextBlockCodeBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBlockSelectionBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TextBlockSelectionForeground" ResourceKey="SemiColorHighlightText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,19 +1,16 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="TextBoxTextCaretBrush" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="TextBoxDefaultBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxPointeroverBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxFocusBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxInnerForeground" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="TextBoxDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="TextBoxSelectionBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="TextBoxSelectionForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<StaticResource x:Key="TextBoxTextCaretBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBoxDefaultBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="TextBoxDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="TextBoxPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="TextBoxPointeroverBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TextBoxPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="TextBoxFocusBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TextBoxForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBoxInnerForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="TextBoxDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="TextBoxDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="TextBoxDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="TextBoxSelectionBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="TextBoxSelectionForeground" ResourceKey="SemiColorHighlightText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,32 +1,30 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultPointeroverBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultPressedBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultDisabledForeground" Color="{StaticResource GrayTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonCheckedDisabledForeground" Color="{StaticResource WindowColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDefaultPrimaryForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultPointeroverBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultPressedBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultDisabledForeground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ToggleButtonCheckedDisabledForeground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ToggleButtonDefaultPrimaryForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryCheckedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedBorderBrush" Color="Transparent" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedPointeroverBackground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedPressedForeground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonSecondaryCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonTertiaryCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonSuccessCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonWarningCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonDangerCheckedPressedBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryCheckedPressedBorderBrush" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonCheckedForeground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonCheckedDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminateBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminateBorderBrush" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminatePointeroverBorderBrush" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminatePointeroverForeground" Color="{StaticResource ButtonTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminatePressedBorderBrush" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonPrimaryIndeterminatePressedForeground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleButtonIndeterminateDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryCheckedPointeroverBackground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryCheckedPressedForeground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonSecondaryCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonTertiaryCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonSuccessCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonWarningCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonDangerCheckedPressedBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryCheckedPressedBorderBrush" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ToggleButtonCheckedForeground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleButtonCheckedDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminateBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminateBorderBrush" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminatePointeroverBorderBrush" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminatePointeroverForeground" ResourceKey="SemiColorButtonText" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminatePressedBorderBrush" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="ToggleButtonPrimaryIndeterminatePressedForeground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="ToggleButtonIndeterminateDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,18 +1,14 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ToggleSwitchDefaultBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerUnCheckedDefaultBackground" Color="{StaticResource HighlightTextColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerUnCheckedPointeroverBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerUnCheckedPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerUnCheckedDisabledBackground" Color="{StaticResource WindowColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerUnCheckedDisabledBorderBrush" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerCheckedDefaultBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerCheckedPointeroverBackground" Color="{StaticResource HotlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerCheckedPressedBackground" Color="{StaticResource HighlightColor}" />
|
||||
<SolidColorBrush x:Key="ToggleSwitchContainerCheckedDisabledBackground" Color="{StaticResource GrayTextColor}" />
|
||||
|
||||
<SolidColorBrush x:Key="SimpleToggleSwitchContainerUnCheckedForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="SimpleToggleSwitchContainerCheckedForeground" Color="{StaticResource HighlightTextColor}" />
|
||||
<StaticResource x:Key="ToggleSwitchDefaultBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerUnCheckedDefaultBackground" ResourceKey="SemiColorHighlightText" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerUnCheckedPointeroverBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerUnCheckedPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerUnCheckedDisabledBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerUnCheckedDisabledBorderBrush" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerCheckedDefaultBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerCheckedPointeroverBackground" ResourceKey="SemiColorHotlight" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerCheckedPressedBackground" ResourceKey="SemiColorHighlight" />
|
||||
<StaticResource x:Key="ToggleSwitchContainerCheckedDisabledBackground" ResourceKey="SemiColorGrayText" />
|
||||
<StaticResource x:Key="SimpleToggleSwitchContainerUnCheckedForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="SimpleToggleSwitchContainerCheckedForeground" ResourceKey="SemiColorHighlightText" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,5 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="ToolTipBackground" Color="{StaticResource WindowColor}" />
|
||||
<SolidColorBrush x:Key="ToolTipForeground" Color="{StaticResource WindowTextColor}" />
|
||||
<SolidColorBrush x:Key="ToolTipBorderBrush" Color="{StaticResource WindowTextColor}" />
|
||||
<StaticResource x:Key="ToolTipBackground" ResourceKey="SemiColorWindow" />
|
||||
<StaticResource x:Key="ToolTipForeground" ResourceKey="SemiColorWindowText" />
|
||||
<StaticResource x:Key="ToolTipBorderBrush" ResourceKey="SemiColorWindowText" />
|
||||
</ResourceDictionary>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user