mirror of
https://github.com/VitalickS/BrightSharp.Toolkit.git
synced 2026-03-21 02:21:15 +00:00
Theme.Static.xaml (without compile, no perfomance difference with dynamic). +ThemeManager improvements.
This commit is contained in:
@@ -68,6 +68,9 @@
|
||||
<Compile Include="Diagrams\Thumbs\ResizeThumb.cs" />
|
||||
<Compile Include="Diagrams\Thumbs\RotateThumb.cs" />
|
||||
<Compile Include="Extensions\WpfExtensions.cs" />
|
||||
<Compile Include="Themes\Theme.cs">
|
||||
<DependentUpon>Theme.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Themes\ThemeManager.cs" />
|
||||
<Compile Include="Diagrams\ZoomControl.cs">
|
||||
<SubType>Code</SubType>
|
||||
@@ -86,7 +89,9 @@
|
||||
</Page>
|
||||
<Compile Include="Converters\ThicknessConverter.cs" />
|
||||
<Compile Include="Extensions\MarkupExtensionProperties.cs" />
|
||||
<Compile Include="Themes\Theme.cs" />
|
||||
<None Include="Themes\Theme.Static.cs">
|
||||
<DependentUpon>Theme.Static.xaml</DependentUpon>
|
||||
</None>
|
||||
<Page Include="Themes\Diagrams\DesignerItem.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -103,6 +108,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Themes\Style.Classic.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Themes\Style.DarkBlue.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -116,9 +125,13 @@
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Themes\Theme.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<None Include="Themes\Theme.Static.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace BrightSharp.Controls
|
||||
{
|
||||
|
||||
@@ -58,23 +58,10 @@ namespace BrightSharp.Diagrams
|
||||
|
||||
var zoomChangedHandler = new RoutedEventHandler((sender, args) =>
|
||||
{
|
||||
var lodInfo = new LodInfo(GetLODZoom(element));
|
||||
|
||||
var transform = element.TransformToVisual(window) as MatrixTransform;
|
||||
var scaleX = transform.Matrix.M11;
|
||||
|
||||
var newOpacity = (scaleX >= lodInfo.StartRange && scaleX <= lodInfo.EndRange) ? 1 : 0;
|
||||
|
||||
if (lodInfo.UseAnimation && args.RoutedEvent != FrameworkElement.LoadedEvent)
|
||||
{
|
||||
element.Visibility = Visibility.Visible;
|
||||
var animation = new DoubleAnimation(newOpacity, TimeSpan.FromSeconds(.5));
|
||||
element.BeginAnimation(UIElement.OpacityProperty, animation);
|
||||
try {
|
||||
ChangeVisibility(args, element, window);
|
||||
}
|
||||
else
|
||||
{
|
||||
element.Visibility = newOpacity == 1 ? Visibility.Visible : Visibility.Hidden;
|
||||
element.Opacity = newOpacity;
|
||||
catch (Exception) {
|
||||
}
|
||||
});
|
||||
|
||||
@@ -93,6 +80,25 @@ namespace BrightSharp.Diagrams
|
||||
}
|
||||
}
|
||||
|
||||
private static void ChangeVisibility(RoutedEventArgs args, FrameworkElement element, Window window) {
|
||||
var lodInfo = new LodInfo(GetLODZoom(element));
|
||||
|
||||
var transform = element.TransformToVisual(window) as MatrixTransform;
|
||||
var scaleX = transform.Matrix.M11;
|
||||
|
||||
var newOpacity = (scaleX >= lodInfo.StartRange && scaleX <= lodInfo.EndRange) ? 1 : 0;
|
||||
|
||||
if (lodInfo.UseAnimation && args.RoutedEvent != FrameworkElement.LoadedEvent) {
|
||||
element.Visibility = Visibility.Visible;
|
||||
var animation = new DoubleAnimation(newOpacity, TimeSpan.FromSeconds(.5));
|
||||
element.BeginAnimation(UIElement.OpacityProperty, animation);
|
||||
}
|
||||
else {
|
||||
element.Visibility = newOpacity == 1 ? Visibility.Visible : Visibility.Hidden;
|
||||
element.Opacity = newOpacity;
|
||||
}
|
||||
}
|
||||
|
||||
sealed class LodInfo
|
||||
{
|
||||
public LodInfo(string lod)
|
||||
|
||||
@@ -257,10 +257,7 @@
|
||||
<GradientStop Offset="1" Color="#EFF3F3F3" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<Color x:Key="WindowBackgroundHoverColor">#FFF</Color>
|
||||
|
||||
|
||||
<LinearGradientBrush x:Key="SelectedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#CC9ACBFF" Offset="0" />
|
||||
<GradientStop Color="#FF7DBAFF" Offset=".3" />
|
||||
@@ -269,18 +266,63 @@
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="GlyphBrush" Color="#FF2B1717" />
|
||||
<SolidColorBrush x:Key="LightColorBrush" Color="#E9ECF8" />
|
||||
|
||||
<Color x:Key="OnWindowForegroundColor">#FF1B140F</Color>
|
||||
<Color x:Key="SelectedUnfocusedColor">#FFB6B6B6</Color>
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="ScrollBarBackgroundBrush" Color="#F0F0F0" />
|
||||
<SolidColorBrush x:Key="SynWindowBackgroundBrush" Color="#FFD1D1D1" />
|
||||
<Color x:Key="SelectedBackgroundColor">#FFFFF8B8</Color>
|
||||
<SolidColorBrush x:Key="OnWindowForegroundBrush" Color="{DynamicResource OnWindowForegroundColor}" />
|
||||
<SolidColorBrush x:Key="HighLightForegroundBrush" Color="#FF500000" />
|
||||
<Color x:Key="UiForegroundColor">Black</Color>
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="White" />
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="#F1EFFF" />
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="White"/>
|
||||
<SolidColorBrush x:Key="UiForegroundBrush" Color="{DynamicResource UiForegroundColor}" />
|
||||
<Color x:Key="ControlLightColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ControlMediumColor">#FFC5C5C5</Color>
|
||||
<Color x:Key="ControlDarkColor">#FF6B6B6B</Color>
|
||||
<Color x:Key="ControlMouseOverColor">#FFDADCEC</Color>
|
||||
<Color x:Key="ControlPressedColor">#FF47909B</Color>
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
<!--Window Brushes-->
|
||||
|
||||
<LinearGradientBrush x:Key="GradientWindowBackgroundBrush" EndPoint="1,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FFAFBAD6" Offset="0"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFD1E3FF" Offset="0.766"/>
|
||||
<GradientStop Color="#FFE2E8F8" Offset="0.238"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#EFD3D3" />
|
||||
<GradientStop Color="#FFB5BBC6" Offset="0.2" />
|
||||
<GradientStop Color="#FFDDDDF7" Offset="0.8" />
|
||||
<GradientStop Color="#FF93B1CE" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<SolidColorBrush x:Key="WindowHeaderInactiveBackgroundBrush" Color="#8888" />
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderInactiveBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#A5A5A5" />
|
||||
<GradientStop Color="#FF616161" Offset="0.2" />
|
||||
<GradientStop Color="#FF5C5C5C" Offset="0.8" />
|
||||
<GradientStop Color="#FFBEC5CB" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowBorderBrush" EndPoint="0,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FF898989" Offset="0"/>
|
||||
<GradientStop Color="#FF898989" Offset="1"/>
|
||||
<GradientStop Color="LightGray" Offset="0.841"/>
|
||||
<GradientStop Color="#FFCBCBCB" Offset="0.23"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowInnerBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#F0F0F0" Offset="1" />
|
||||
<GradientStop Color="White" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
283
BrightSharp/Themes/Style.Classic.xaml
Normal file
283
BrightSharp/Themes/Style.Classic.xaml
Normal file
@@ -0,0 +1,283 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
|
||||
<!--Radiuses-->
|
||||
|
||||
<CornerRadius x:Key="DefaultRadiusSmall">1</CornerRadius>
|
||||
<CornerRadius x:Key="DefaultRadiusNormal">3</CornerRadius>
|
||||
|
||||
<CornerRadius x:Key="TabItemRadius">0,8,0,0</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusTop">0,2,2,2</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusLeft">0,5,5,0</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusRight">5,0,0,5</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusBottom">5,5,0,0</CornerRadius>
|
||||
|
||||
<Color x:Key="ValidationErrorColor">Red</Color>
|
||||
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="White"/>
|
||||
<LinearGradientBrush x:Key="AlternatingRowBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="White"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFECF5FF" Offset="0.8"/>
|
||||
<GradientStop Color="#FFECF5FF" Offset="0.2"/>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#CCC" Offset="1.0"/>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalNormalBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#CCC" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndeterminateRootBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#F6BCD5FF" Offset="0.046" />
|
||||
<GradientStop Color="#96D4E4FF" Offset="0.18" />
|
||||
<GradientStop Color="#4FFFFFFF" Offset="0.512" />
|
||||
<GradientStop Color="#00D6D6D6" Offset="0.521" />
|
||||
<GradientStop Color="#BABCD5FF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndeterminateFillBrush" EndPoint="0,1" StartPoint="20,1" MappingMode="Absolute" SpreadMethod="Repeat">
|
||||
<LinearGradientBrush.Transform>
|
||||
<TransformGroup>
|
||||
<SkewTransform AngleX="-10" />
|
||||
</TransformGroup>
|
||||
</LinearGradientBrush.Transform>
|
||||
<GradientStop Color="#FFBCD5FF" Offset="0.088" />
|
||||
<GradientStop Color="#006EA4FD" Offset="0.475" />
|
||||
<GradientStop Color="#FFBCD5FF" Offset="0.899" />
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalProgressBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FF9EFD9B" Offset="0.0"/>
|
||||
<GradientStop Color="#FF2FA22A" Offset="0.4"/>
|
||||
<GradientStop Color="#FFB1ECAF" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill">
|
||||
<LinearGradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
|
||||
<GradientStop Color="#00ffffff"
|
||||
Offset="0" />
|
||||
<GradientStop Color="#c0ffffff"
|
||||
Offset="0.3" />
|
||||
<GradientStop Color="#d0ffffff"
|
||||
Offset="0.8" />
|
||||
<GradientStop Color="#00ffffff"
|
||||
Offset="1" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#CCC" Offset="0.0"/>
|
||||
<GradientStop Color="#444" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="HorizontalNormalBorderBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#CCC" Offset="0.0"/>
|
||||
<GradientStop Color="#444" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="TopLevelMenuBackgroundHover" Color="Pink" />
|
||||
|
||||
<!-- Light Brush -->
|
||||
<LinearGradientBrush x:Key="HorizontalLightBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Dark Brush -->
|
||||
<LinearGradientBrush x:Key="DarkBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#AAA" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalDarkBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#AAA" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Pressed Brush -->
|
||||
<LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="TogglePressedBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalPressedBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="PressedBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#444" Offset="0.0"/>
|
||||
<GradientStop Color="#888" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Defaulted Brush -->
|
||||
<LinearGradientBrush x:Key="DefaultedBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#777" Offset="0.3"/>
|
||||
<GradientStop Color="#000" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Disabled Brush -->
|
||||
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" />
|
||||
|
||||
<!-- Border Brushes -->
|
||||
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />
|
||||
<SolidColorBrush x:Key="LightBorderBrush" Color="#AAA" />
|
||||
|
||||
<!-- Miscellaneous Brushes -->
|
||||
<LinearGradientBrush x:Key="ScrollBarPageButtonVertBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientStopCollection>
|
||||
<GradientStop Offset="0" Color="#FFD3DBFF" />
|
||||
<GradientStop Offset="0.3" Color="White" />
|
||||
<GradientStop Offset="0.7" Color="White" />
|
||||
<GradientStop Offset="1" Color="#FFD3DBFF" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ScrollBarPageButtonHorizBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStopCollection>
|
||||
<GradientStop Offset="0" Color="#FFD3DBFF" />
|
||||
<GradientStop Offset="0.3" Color="White" />
|
||||
<GradientStop Offset="0.7" Color="White" />
|
||||
<GradientStop Offset="1" Color="#FFD3DBFF" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="TabItemSelectedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#BBB" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="0.1"/>
|
||||
<GradientStop Color="#EEE" Offset="0.85"/>
|
||||
<GradientStop Color="#FFF" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="MainMenuForegroundBrush" Color="Black"/>
|
||||
|
||||
<!--Color STYLED Brush-->
|
||||
<Color x:Key="WindowBackgroundHoverColor">#FFF</Color>
|
||||
<LinearGradientBrush x:Key="WindowBackgroundBrush">
|
||||
<GradientStop Color="#EEE" />
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#FFC0C9E4" />
|
||||
<SolidColorBrush x:Key="GlyphBrush" Color="#444" />
|
||||
<SolidColorBrush x:Key="LightColorBrush" Color="#DDD" />
|
||||
<Color x:Key="OnWindowForegroundColor">Black</Color>
|
||||
<SolidColorBrush x:Key="OnWindowForegroundBrush" Color="{DynamicResource OnWindowForegroundColor}" />
|
||||
<SolidColorBrush x:Key="DisabledForegroundBrush" Color="#FF4D4D4D" />
|
||||
<SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE" />
|
||||
<LinearGradientBrush x:Key="LightBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="ScrollBarBackgroundBrush" Color="#F0F0F0" />
|
||||
<SolidColorBrush x:Key="HighLightForegroundBrush" Color="#FF500000" />
|
||||
<Color x:Key="UiForegroundColor">Black</Color>
|
||||
<SolidColorBrush x:Key="UiForegroundBrush" Color="{DynamicResource UiForegroundColor}" />
|
||||
<Color x:Key="SelectedBackgroundColor">#DEE4FF</Color>
|
||||
<Color x:Key="SelectedUnfocusedColor">#FFB6B6B6</Color>
|
||||
<Color x:Key="ControlLightColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ControlMediumColor">#FFC5C5C5</Color>
|
||||
<Color x:Key="ControlDarkColor">#FF6B6B6B</Color>
|
||||
<Color x:Key="ControlMouseOverColor">#FFDADCEC</Color>
|
||||
<Color x:Key="ControlPressedColor">#FF47909B</Color>
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
|
||||
<!--Window Brushes-->
|
||||
|
||||
<SolidColorBrush x:Key="WindowHeaderInactiveBackgroundBrush" Color="#8888" />
|
||||
|
||||
<LinearGradientBrush x:Key="GradientWindowBackgroundBrush" EndPoint="1,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FFAFBAD6" Offset="0"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFD1E3FF" Offset="0.766"/>
|
||||
<GradientStop Color="#FFE2E8F8" Offset="0.238"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#EFD3D3" />
|
||||
<GradientStop Color="#FFB5BBC6" Offset="0.2" />
|
||||
<GradientStop Color="#FFDDDDF7" Offset="0.8" />
|
||||
<GradientStop Color="#FF93B1CE" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderInactiveBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#A5A5A5" />
|
||||
<GradientStop Color="#FF616161" Offset="0.2" />
|
||||
<GradientStop Color="#FF5C5C5C" Offset="0.8" />
|
||||
<GradientStop Color="#FFBEC5CB" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowBorderBrush" EndPoint="0,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FF898989" Offset="0"/>
|
||||
<GradientStop Color="#FF898989" Offset="1"/>
|
||||
<GradientStop Color="LightGray" Offset="0.841"/>
|
||||
<GradientStop Color="#FFCBCBCB" Offset="0.23"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowInnerBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#F0F0F0" Offset="1" />
|
||||
<GradientStop Color="White" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
<Color x:Key="ControlMouseOverColor" >#FF414888</Color>
|
||||
<Color x:Key="ControlPressedColor" >#FF47909B</Color>
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
<Color x:Key="ValidationErrorColor" >#FF3333</Color>
|
||||
|
||||
@@ -80,6 +82,7 @@
|
||||
<SolidColorBrush x:Key="HighLightForegroundBrush" Color="Black" />
|
||||
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="#555555" />
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="#6C6C6C" />
|
||||
|
||||
|
||||
<LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
@@ -299,6 +302,6 @@
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="WindowHeaderInactiveBackgroundBrush" Color="#8888" />
|
||||
</ResourceDictionary>
|
||||
@@ -219,7 +219,8 @@
|
||||
<SolidColorBrush x:Key="UiForegroundBrush" Color="{DynamicResource UiForegroundColor}" />
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="White" />
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="#F1F1F1" />
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="White"/>
|
||||
|
||||
|
||||
<Color x:Key="SelectedBackgroundColor">#E3E3E3</Color>
|
||||
@@ -230,7 +231,45 @@
|
||||
|
||||
<Color x:Key="ControlMouseOverColor">#FFEEEEEE</Color>
|
||||
<Color x:Key="ControlPressedColor">#FF47909B</Color>
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
<!--Window Brushes-->
|
||||
|
||||
<SolidColorBrush x:Key="WindowHeaderInactiveBackgroundBrush" Color="#8888" />
|
||||
|
||||
<LinearGradientBrush x:Key="GradientWindowBackgroundBrush" EndPoint="1,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FFD0D8EC" Offset="0"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFE9F2FF" Offset="0.766"/>
|
||||
<GradientStop Color="#FFE2E8F8" Offset="0.238"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#F4F4FF" />
|
||||
<GradientStop Color="#FFB5BBC6" Offset="0.2" />
|
||||
<GradientStop Color="#FFE7E7FC" Offset="0.8" />
|
||||
<GradientStop Color="#FFD4EAFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderInactiveBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#A5A5A5" />
|
||||
<GradientStop Color="#FF616161" Offset="0.2" />
|
||||
<GradientStop Color="#FF5C5C5C" Offset="0.8" />
|
||||
<GradientStop Color="#FFBEC5CB" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowBorderBrush" EndPoint="0,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FF898989" Offset="0"/>
|
||||
<GradientStop Color="#FF898989" Offset="1"/>
|
||||
<GradientStop Color="LightGray" Offset="0.841"/>
|
||||
<GradientStop Color="#FFCBCBCB" Offset="0.23"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowInnerBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#F0F0F0" Offset="1" />
|
||||
<GradientStop Color="White" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -248,7 +248,8 @@
|
||||
<SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE" />
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="White" />
|
||||
<SolidColorBrush x:Key="AlternatingRowBackgroundBrush" Color="#E6E6E6" />
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="White"/>
|
||||
|
||||
<LinearGradientBrush x:Key="LightBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
@@ -283,7 +284,41 @@
|
||||
|
||||
<Color x:Key="ControlMouseOverColor">#FFCED0E1</Color>
|
||||
<Color x:Key="ControlPressedColor">#FF47909B</Color>
|
||||
|
||||
|
||||
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
<!--Window Brushes-->
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#9EF4F4FF" />
|
||||
<GradientStop Color="#80B5BBC6" Offset="0.2" />
|
||||
<GradientStop Color="#93E7E7FC" Offset="0.8" />
|
||||
<GradientStop Color="#A9D4EAFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<SolidColorBrush x:Key="WindowHeaderInactiveBackgroundBrush" Color="#8888" />
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderInactiveBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#A5A5A5" />
|
||||
<GradientStop Color="#FF616161" Offset="0.2" />
|
||||
<GradientStop Color="#FF5C5C5C" Offset="0.8" />
|
||||
<GradientStop Color="#FFBEC5CB" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowBorderBrush" EndPoint="0,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FF898989" Offset="0"/>
|
||||
<GradientStop Color="#FF898989" Offset="1"/>
|
||||
<GradientStop Color="LightGray" Offset="0.841"/>
|
||||
<GradientStop Color="#FFCBCBCB" Offset="0.23"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowInnerBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#F0F0F0" Offset="1" />
|
||||
<GradientStop Color="White" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
41
BrightSharp/Themes/Theme.Static.cs
Normal file
41
BrightSharp/Themes/Theme.Static.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BrightSharp.Themes
|
||||
{
|
||||
|
||||
internal partial class ThemeStatic
|
||||
{
|
||||
public void CalendarPreviewMouseUp(object sender, MouseEventArgs e) {
|
||||
if (Mouse.Captured is CalendarItem) { Mouse.Capture(null); }
|
||||
}
|
||||
public void DatePickerUnloaded(object sender, RoutedEventArgs e) {
|
||||
if (sender == null) return;
|
||||
DependencyObject child = ((Popup)((DatePicker)sender).Template.FindName("PART_Popup", (FrameworkElement)sender))?.Child;
|
||||
while (child != null && !(child is AdornerDecorator))
|
||||
child = VisualTreeHelper.GetParent(child) ?? LogicalTreeHelper.GetParent(child);
|
||||
if (((AdornerDecorator)child)?.Child is Calendar) ((AdornerDecorator)child).Child = null;
|
||||
}
|
||||
|
||||
|
||||
private void closeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.Close();
|
||||
}
|
||||
|
||||
private void maximizeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.WindowState = window.WindowState == WindowState.Normal ? WindowState.Maximized : WindowState.Normal;
|
||||
}
|
||||
|
||||
private void minimizeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.WindowState = WindowState.Minimized;
|
||||
}
|
||||
}
|
||||
}
|
||||
5729
BrightSharp/Themes/Theme.Static.xaml
Normal file
5729
BrightSharp/Themes/Theme.Static.xaml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Documents;
|
||||
@@ -8,19 +7,13 @@ using System.Windows.Media;
|
||||
|
||||
namespace BrightSharp.Themes
|
||||
{
|
||||
|
||||
internal partial class Theme
|
||||
{
|
||||
public Theme() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void CalendarPreviewMouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
public void CalendarPreviewMouseUp(object sender, MouseEventArgs e) {
|
||||
if (Mouse.Captured is CalendarItem) { Mouse.Capture(null); }
|
||||
}
|
||||
public void DatePickerUnloaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
public void DatePickerUnloaded(object sender, RoutedEventArgs e) {
|
||||
if (sender == null) return;
|
||||
DependencyObject child = ((Popup)((DatePicker)sender).Template.FindName("PART_Popup", (FrameworkElement)sender))?.Child;
|
||||
while (child != null && !(child is AdornerDecorator))
|
||||
@@ -29,23 +22,19 @@ namespace BrightSharp.Themes
|
||||
}
|
||||
|
||||
|
||||
private void closeButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
private void closeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.Close();
|
||||
}
|
||||
|
||||
private void maximizeButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
private void maximizeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.WindowState = window.WindowState == WindowState.Normal ? WindowState.Maximized : WindowState.Normal;
|
||||
}
|
||||
|
||||
private void minimizeButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
private void minimizeButton_Click(object sender, RoutedEventArgs e) {
|
||||
var window = Window.GetWindow((DependencyObject)sender);
|
||||
window.WindowState = WindowState.Minimized;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
<ResourceDictionary x:Class="BrightSharp.Themes.Theme" x:ClassModifier="internal"
|
||||
<ResourceDictionary x:Class="BrightSharp.Themes.Theme"
|
||||
x:ClassModifier="internal"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:conv="clr-namespace:BrightSharp.Converters"
|
||||
xmlns:bs="clr-namespace:BrightSharp.Extensions">
|
||||
xmlns:bs="clr-namespace:BrightSharp.Extensions"
|
||||
xmlns:conv="clr-namespace:BrightSharp.Converters">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="Diagrams/DesignerItem.xaml" />
|
||||
<ResourceDictionary Source="Controls/ZoomControl.xaml" />
|
||||
<ResourceDictionary Source="Controls/PropertyGrid.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
|
||||
|
||||
<!--Converters-->
|
||||
|
||||
<conv:ThicknessConverter x:Key="ThickConv" />
|
||||
@@ -17,284 +19,9 @@
|
||||
<BooleanToVisibilityConverter x:Key="btvc" />
|
||||
<conv:InverseBooleanToVisibilityConverter x:Key="ibtvc" />
|
||||
|
||||
<!--Radiuses-->
|
||||
|
||||
<CornerRadius x:Key="DefaultRadiusSmall">1</CornerRadius>
|
||||
<CornerRadius x:Key="DefaultRadiusNormal">3</CornerRadius>
|
||||
|
||||
<CornerRadius x:Key="TabItemRadius">0,8,0,0</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusTop">0,2,2,2</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusLeft">0,5,5,0</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusRight">5,0,0,5</CornerRadius>
|
||||
<CornerRadius x:Key="TabRadiusBottom">5,5,0,0</CornerRadius>
|
||||
|
||||
<Color x:Key="ValidationErrorColor">Red</Color>
|
||||
|
||||
<SolidColorBrush x:Key="RowBackgroundBrush" Color="White"/>
|
||||
<LinearGradientBrush x:Key="AlternatingRowBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="White"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFECF5FF" Offset="0.8"/>
|
||||
<GradientStop Color="#FFECF5FF" Offset="0.2"/>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#CCC" Offset="1.0"/>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalNormalBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#CCC" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndeterminateRootBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#F6BCD5FF" Offset="0.046" />
|
||||
<GradientStop Color="#96D4E4FF" Offset="0.18" />
|
||||
<GradientStop Color="#4FFFFFFF" Offset="0.512" />
|
||||
<GradientStop Color="#00D6D6D6" Offset="0.521" />
|
||||
<GradientStop Color="#BABCD5FF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndeterminateFillBrush" EndPoint="0,1" StartPoint="20,1" MappingMode="Absolute" SpreadMethod="Repeat">
|
||||
<LinearGradientBrush.Transform>
|
||||
<TransformGroup>
|
||||
<SkewTransform AngleX="-10" />
|
||||
</TransformGroup>
|
||||
</LinearGradientBrush.Transform>
|
||||
<GradientStop Color="#FFBCD5FF" Offset="0.088" />
|
||||
<GradientStop Color="#006EA4FD" Offset="0.475" />
|
||||
<GradientStop Color="#FFBCD5FF" Offset="0.899" />
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalProgressBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FF9EFD9B" Offset="0.0"/>
|
||||
<GradientStop Color="#FF2FA22A" Offset="0.4"/>
|
||||
<GradientStop Color="#FFB1ECAF" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill">
|
||||
<LinearGradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
|
||||
<GradientStop Color="#00ffffff"
|
||||
Offset="0" />
|
||||
<GradientStop Color="#c0ffffff"
|
||||
Offset="0.3" />
|
||||
<GradientStop Color="#d0ffffff"
|
||||
Offset="0.8" />
|
||||
<GradientStop Color="#00ffffff"
|
||||
Offset="1" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#CCC" Offset="0.0"/>
|
||||
<GradientStop Color="#444" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="HorizontalNormalBorderBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#CCC" Offset="0.0"/>
|
||||
<GradientStop Color="#444" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="TopLevelMenuBackgroundHover" Color="Pink" />
|
||||
|
||||
<!-- Light Brush -->
|
||||
<LinearGradientBrush x:Key="HorizontalLightBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Dark Brush -->
|
||||
<LinearGradientBrush x:Key="DarkBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#AAA" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalDarkBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#AAA" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Pressed Brush -->
|
||||
<LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="TogglePressedBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="VerticalPressedBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#E8D4D4" Offset="0.0"/>
|
||||
<GradientStop Color="#E3E8A6" Offset="0.1"/>
|
||||
<GradientStop Color="#ECF699" Offset="0.796"/>
|
||||
<GradientStop Color="#F3F3F3" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="PressedBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#444" Offset="0.0"/>
|
||||
<GradientStop Color="#888" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Defaulted Brush -->
|
||||
<LinearGradientBrush x:Key="DefaultedBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#777" Offset="0.3"/>
|
||||
<GradientStop Color="#000" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<!-- Disabled Brush -->
|
||||
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" />
|
||||
|
||||
<!-- Border Brushes -->
|
||||
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />
|
||||
<SolidColorBrush x:Key="LightBorderBrush" Color="#AAA" />
|
||||
|
||||
<!-- Miscellaneous Brushes -->
|
||||
<LinearGradientBrush x:Key="ScrollBarPageButtonVertBrush" StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientStopCollection>
|
||||
<GradientStop Offset="0" Color="#FFD3DBFF" />
|
||||
<GradientStop Offset="0.3" Color="White" />
|
||||
<GradientStop Offset="0.7" Color="White" />
|
||||
<GradientStop Offset="1" Color="#FFD3DBFF" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="ScrollBarPageButtonHorizBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStopCollection>
|
||||
<GradientStop Offset="0" Color="#FFD3DBFF" />
|
||||
<GradientStop Offset="0.3" Color="White" />
|
||||
<GradientStop Offset="0.7" Color="White" />
|
||||
<GradientStop Offset="1" Color="#FFD3DBFF" />
|
||||
</GradientStopCollection>
|
||||
</LinearGradientBrush>
|
||||
<LinearGradientBrush x:Key="TabItemSelectedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#BBB" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="0.1"/>
|
||||
<GradientStop Color="#EEE" Offset="0.85"/>
|
||||
<GradientStop Color="#FFF" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="MainMenuForegroundBrush" Color="Black"/>
|
||||
|
||||
<!--Color STYLED Brush-->
|
||||
<Color x:Key="WindowBackgroundHoverColor">#FFF</Color>
|
||||
<LinearGradientBrush x:Key="WindowBackgroundBrush">
|
||||
<GradientStop Color="#EEE" />
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#FFC0C9E4" />
|
||||
<SolidColorBrush x:Key="GlyphBrush" Color="#444" />
|
||||
<SolidColorBrush x:Key="LightColorBrush" Color="#DDD" />
|
||||
<Color x:Key="OnWindowForegroundColor">Black</Color>
|
||||
<SolidColorBrush x:Key="OnWindowForegroundBrush" Color="{DynamicResource OnWindowForegroundColor}" />
|
||||
<SolidColorBrush x:Key="DisabledForegroundBrush" Color="#FF4D4D4D" />
|
||||
<SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE" />
|
||||
<LinearGradientBrush x:Key="LightBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientBrush.GradientStops>
|
||||
<GradientStopCollection>
|
||||
<GradientStop Color="#FFF" Offset="0.0"/>
|
||||
<GradientStop Color="#EEE" Offset="1.0"/>
|
||||
</GradientStopCollection>
|
||||
</GradientBrush.GradientStops>
|
||||
</LinearGradientBrush>
|
||||
<SolidColorBrush x:Key="ScrollBarBackgroundBrush" Color="#F0F0F0" />
|
||||
<SolidColorBrush x:Key="HighLightForegroundBrush" Color="#FF500000" />
|
||||
<Color x:Key="UiForegroundColor">Black</Color>
|
||||
<SolidColorBrush x:Key="UiForegroundBrush" Color="{DynamicResource UiForegroundColor}" />
|
||||
<Color x:Key="SelectedBackgroundColor">#DEE4FF</Color>
|
||||
<Color x:Key="SelectedUnfocusedColor">#FFB6B6B6</Color>
|
||||
<Color x:Key="ControlLightColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ControlMediumColor">#FFC5C5C5</Color>
|
||||
<Color x:Key="ControlDarkColor">#FF6B6B6B</Color>
|
||||
<Color x:Key="ControlMouseOverColor">#FFDADCEC</Color>
|
||||
<Color x:Key="ControlPressedColor">#FF47909B</Color>
|
||||
<Color x:Key="BorderLightColor">#D6D6D6</Color>
|
||||
<Color x:Key="BorderMediumColor">#E6E6E6</Color>
|
||||
|
||||
|
||||
<!--Window Brushes-->
|
||||
|
||||
<LinearGradientBrush x:Key="GradientWindowBackgroundBrush" EndPoint="1,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FFAFBAD6" Offset="0"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
<GradientStop Color="#FFD1E3FF" Offset="0.766"/>
|
||||
<GradientStop Color="#FFE2E8F8" Offset="0.238"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#EFD3D3" />
|
||||
<GradientStop Color="#FFB5BBC6" Offset="0.2" />
|
||||
<GradientStop Color="#FFDDDDF7" Offset="0.8" />
|
||||
<GradientStop Color="#FF93B1CE" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowHeaderInactiveBrush" EndPoint="0,1">
|
||||
<GradientStop Color="#A5A5A5" />
|
||||
<GradientStop Color="#FF616161" Offset="0.2" />
|
||||
<GradientStop Color="#FF5C5C5C" Offset="0.8" />
|
||||
<GradientStop Color="#FFBEC5CB" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowBorderBrush" EndPoint="0,1" StartPoint="0,0">
|
||||
<GradientStop Color="#FF898989" Offset="0"/>
|
||||
<GradientStop Color="#FF898989" Offset="1"/>
|
||||
<GradientStop Color="LightGray" Offset="0.841"/>
|
||||
<GradientStop Color="#FFCBCBCB" Offset="0.23"/>
|
||||
</LinearGradientBrush>
|
||||
|
||||
<LinearGradientBrush x:Key="WindowInnerBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#F0F0F0" Offset="1" />
|
||||
<GradientStop Color="White" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
<!--STYLES-->
|
||||
|
||||
|
||||
<ContextMenu x:Key="DecoTextBoxContextMenu">
|
||||
<MenuItem Command="ApplicationCommands.Copy">
|
||||
<MenuItem.Icon>
|
||||
@@ -5999,4 +5726,5 @@
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -3,11 +3,13 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace BrightSharp.Themes
|
||||
{
|
||||
public enum ColorThemes
|
||||
{
|
||||
None,
|
||||
Classic,
|
||||
DevLab,
|
||||
Silver,
|
||||
@@ -18,30 +20,53 @@ namespace BrightSharp.Themes
|
||||
public static class ThemeManager
|
||||
{
|
||||
private const string StyleDictionaryPattern = @"(?<=.+style\.)(.*?)(?=\.xaml)";
|
||||
private const string StaticThemeDictionaryUri = "/brightsharp;component/themes/theme.static.xaml";
|
||||
|
||||
static ColorThemes? _theme;
|
||||
|
||||
public static ColorThemes Theme
|
||||
{
|
||||
get
|
||||
{
|
||||
get {
|
||||
if (_theme.HasValue) return _theme.Value;
|
||||
var curStyleRes = Resources.Where(r => r.Source != null &&
|
||||
Regex.IsMatch(r.Source.OriginalString, StyleDictionaryPattern, RegexOptions.IgnoreCase)).FirstOrDefault();
|
||||
if (curStyleRes == null) return ColorThemes.Classic;
|
||||
Regex.IsMatch(r.Source.OriginalString, StyleDictionaryPattern, RegexOptions.IgnoreCase)).FirstOrDefault();
|
||||
if (curStyleRes == null) return ColorThemes.None;
|
||||
var match = Regex.Match(curStyleRes.Source.OriginalString, StyleDictionaryPattern, RegexOptions.IgnoreCase);
|
||||
return (ColorThemes)Enum.Parse(typeof(ColorThemes), match.Value, true);
|
||||
_theme = (ColorThemes)Enum.Parse(typeof(ColorThemes), match.Value, true);
|
||||
return _theme.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
var curStyleRes = Resources.Where(r => r.Source != null &&
|
||||
Regex.IsMatch(r.Source.OriginalString, StyleDictionaryPattern, RegexOptions.IgnoreCase)).FirstOrDefault();
|
||||
if (curStyleRes != null)
|
||||
Resources.Remove(curStyleRes);
|
||||
if (value == ColorThemes.Classic)
|
||||
return;
|
||||
Resources.Add(new ResourceDictionary()
|
||||
{
|
||||
Source = new Uri($"/brightsharp;component/themes/style.{value}.xaml", UriKind.RelativeOrAbsolute)
|
||||
});
|
||||
set {
|
||||
SetTheme(value);
|
||||
}
|
||||
}
|
||||
|
||||
public static DispatcherOperation SetTheme(ColorThemes value, DispatcherPriority priority = DispatcherPriority.Background) {
|
||||
if (_theme == value) return Application.Current.Dispatcher.BeginInvoke(new Action(() => { }), priority);
|
||||
_theme = value;
|
||||
return Application.Current.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
if (_theme != value) return;
|
||||
Application.Current.Resources.BeginInit();
|
||||
|
||||
var curStyleRes = Resources.Where(r => r.Source != null &&
|
||||
Regex.IsMatch(r.Source.OriginalString, StyleDictionaryPattern, RegexOptions.IgnoreCase)).FirstOrDefault();
|
||||
var curThemeRes = Resources.Where(r => r.Source != null && r.Source.OriginalString.Equals(StaticThemeDictionaryUri, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
|
||||
if (curThemeRes != null)
|
||||
Resources.Remove(curThemeRes);
|
||||
if (curStyleRes != null)
|
||||
Resources.Remove(curStyleRes);
|
||||
if (value == ColorThemes.None) return;
|
||||
Resources.Add(new ResourceDictionary() { Source = new Uri($"/brightsharp;component/themes/style.{value}.xaml", UriKind.RelativeOrAbsolute) });
|
||||
if (curThemeRes != null)
|
||||
Resources.Add(new ResourceDictionary() { Source = new Uri(StaticThemeDictionaryUri, UriKind.RelativeOrAbsolute) });
|
||||
|
||||
Application.Current.Resources.EndInit();
|
||||
ThemeChanged?.Invoke(null, EventArgs.Empty);
|
||||
}), priority);
|
||||
}
|
||||
|
||||
public static event EventHandler ThemeChanged;
|
||||
|
||||
private static ICollection<ResourceDictionary> Resources
|
||||
{
|
||||
get { return Application.Current.Resources.MergedDictionaries; }
|
||||
|
||||
Reference in New Issue
Block a user