diff --git a/src/Avalonia.Animation/Animation.cs b/src/Avalonia.Animation/Animation.cs index 05142532e9..c42153ec4f 100644 --- a/src/Avalonia.Animation/Animation.cs +++ b/src/Avalonia.Animation/Animation.cs @@ -209,6 +209,17 @@ namespace Avalonia.Animation ( prop => typeof(decimal).IsAssignableFrom(prop.PropertyType), typeof(DecimalAnimator) ), }; + /// + /// Registers a that can handle + /// a value type that matches the specified condition. + /// + /// + /// The condition to which the + /// is to be activated and used. + /// + /// + /// The type of the animator to instantiate. + /// public static void RegisterAnimator(Func condition) where TAnimator : IAnimator { diff --git a/src/Avalonia.Animation/Animators/Animator`1.cs b/src/Avalonia.Animation/Animators/Animator`1.cs index 0660440e30..d784227620 100644 --- a/src/Avalonia.Animation/Animators/Animator`1.cs +++ b/src/Avalonia.Animation/Animators/Animator`1.cs @@ -104,6 +104,11 @@ namespace Avalonia.Animation.Animators throw new Exception("Index time is out of keyframe time range."); } + public virtual IDisposable BindAnimation(Animatable control, IObservable instance) + { + return control.Bind((AvaloniaProperty)Property, instance, BindingPriority.Animation); + } + /// /// Runs the KeyFrames Animation. /// @@ -116,7 +121,8 @@ namespace Avalonia.Animation.Animators clock ?? control.Clock ?? Clock.GlobalClock, onComplete, InterpolationHandler); - return control.Bind((AvaloniaProperty)Property, instance, BindingPriority.Animation); + + return BindAnimation(control, instance); } /// diff --git a/src/Avalonia.Themes.Fluent/Accents/AccentColors.xaml b/src/Avalonia.Themes.Fluent/Accents/AccentColors.xaml new file mode 100644 index 0000000000..1cf2f7e43d --- /dev/null +++ b/src/Avalonia.Themes.Fluent/Accents/AccentColors.xaml @@ -0,0 +1,15 @@ + diff --git a/src/Avalonia.Themes.Fluent/Accents/Base.xaml b/src/Avalonia.Themes.Fluent/Accents/Base.xaml index 0e34eb3f3b..8597c76998 100644 --- a/src/Avalonia.Themes.Fluent/Accents/Base.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/Base.xaml @@ -22,5 +22,13 @@ 10,6,6,5 20 20 + + + 3 + 5 + + + scaleX(0.125) translateX(-2px) + scaleY(0.125) translateY(-2px) diff --git a/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml b/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml index fb08b97b47..915be08e53 100644 --- a/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml @@ -2,16 +2,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=netstandard"> - - - #FF0078D7 - #FF005A9E - #FF004275 - #FF002642 - #FF429CE3 - #FF76B9ED - #FFA6D8FF - #FF000000 #33000000 @@ -40,6 +30,9 @@ #33FFFFFF #FFF000 + #18FFFFFF + #30FFFFFF + @@ -135,7 +128,6 @@ - @@ -150,197 +142,39 @@ - False + + + + + + + #FF000000 + - - XamlAutoFontFamily - XamlAutoFontFamily - Segoe WP - Segoe WP SemiLight - XamlAutoFontFamily - Segoe MDL2 Assets - XamlAutoFontFamily - 24 - 48 - 56 - 24 - 40 - 3 374 - 0 - 2 - 0 - 21 - 64 - 80 - 240 - 14 - 14 - 320 - 548 - 184 - 756 - 130 - 202 - 32 - 32 - 56 - 80 - 20 - 20 - 758 - 456 - 40 - 96 - 240 - 4 - 34 - 20 - 14 - 80 - 16.0 - 42 - 180 - 12 - 48 - 48 - 96 - 16 - 21 - 62 - -112 - 42 - 289 - 96 - 8 - 16 - 0.6 - 4 - 2 - 0 - 14 - 32 - 32 - 270 - 300 - 28 - 4 - 26.667 - - 4 - 2 - 320 - 48 - 0.8 - 0.8 - 1 - 0.87 - 0.87 - 1 - 0.4 - 0.6 - 1 - 32 - 64 - 18.14 - 25.5 - - 80 - 12 - 44 - 44 - 20 - 20 - - 0 - 44 - 44 - 12 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 3,0,3,0 - 1 0,2,0,2 + 1 -1,0,-1,0 - 12,11,0,13 - 2 - 2 - 2 - 1 - 0 - 0,4,0,4 - 0,0,0,4 - 2 - 11,5,11,7 - 11,11,11,13 - 11,11,11,13 - 1 - 0,0,4,0 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 0,24,0,0 - 0,0,0,12 - 24,18,24,24 - 0,0,0,4 + 32 + 64 + 456 + 0 1 0 - 0 - 0,37,0,0 - 0,19,0,0 - 19,0,19,17.5 - 0 - 0,0,0,0 + 12,11,12,12 - 4 - 2.5 - 5,6,5,6 - 0,0,0,9 - 24,0,0,11 - 0 - 0,9.5,0,0 - 0,0,0,19 - 19,19,19,0 - 19,37,19,0 - 0,0,0,32.5 - 0 - 2 - 1 - 12,11,8,13 - 12,11,8,13 - 12,11,8,13 - 0,0,12,0 - 12,4,8,4 - 0,2,0,0 - 2 - 0 - 0,0,0,4 - 0,0,1,0 - 1,0,0,0 - 2 - 0,9.5,0,9.5 - 10,3,6,6 - 0,0,-2,0 - 12,5,10,5 - 0,0,0,4 - 0,0,20,0 - 20,0,0,0 - 2 - 1 - 4 - Normal - SemiLight - Normal - Normal - Normal - Normal - Normal - Light - Normal - 48 - 48,0,48,27 + 96 + 40 + 758 + + + 0 + + + 0,4,0,4 + + + 12,0,12,0 diff --git a/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml b/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml index 6c8d16ddfa..e5c0babb80 100644 --- a/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml @@ -2,16 +2,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=netstandard"> - - - #FF0078D7 - #FF005A9E - #FF004275 - #FF002642 - #FF429CE3 - #FF76B9ED - #FFA6D8FF - #FFFFFFFF #33FFFFFF @@ -40,6 +30,9 @@ #33000000 #C50500 + #17000000 + #2E000000 + @@ -135,7 +128,6 @@ - @@ -150,196 +142,42 @@ - False + + + + + + - - XamlAutoFontFamily - XamlAutoFontFamily - Segoe WP - Segoe WP SemiLight - XamlAutoFontFamily - Segoe MDL2 Assets - XamlAutoFontFamily - 24 - 48 - 56 - 24 - 40 - 3 - 374 - 0 - 2 - 0 - 21 - 64 - 80 - 240 - 14 - 14 - 320 - 548 - 184 - 756 - 130 - 202 - 32 - 32 - 56 - 80 - 20 - 20 - 758 - 456 - 40 - 96 - 240 - 4 - 34 - 20 - 14 - 80 - 16.0 - 42 - 180 - 12 - 48 - 48 - 96 - 16 - 21 - 62 - -112 - 42 - 289 - 96 - 8 - 16 - 0.6 - 4 - 2 - 0 - 14 - 32 - 32 - 270 - 300 - 28 - 4 - 26.667 - 4 - 2 - 320 - 48 - 0.8 - 0.45 - 0.5625 - 0.87 - 0.73 - 0.839 - 0.4 - 0.6 - 1 - 32 - 64 - 18.14 - 25.5 + + #FFFFFFFF + - 80 - 12 - 44 - 44 - 20 - 20 - 0 - 44 - 44 - 12 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 3,0,3,0 - 1 + 374 0,2,0,2 + 1 -1,0,-1,0 - 12,11,0,13 - 2 - 2 - 2 - 1 - 0 - 0,4,0,4 - 0,0,0,4 - 2 - 11,5,11,7 - 11,11,11,13 - 11,11,11,13 - 1 - 0,0,4,0 - 0,0,0,0 - 0,0,0,0 - 0,0,0,0 - 0,24,0,0 - 0,0,0,12 - 24,18,24,24 - 0,0,0,4 + 32 + 64 + 456 + 0 1 0 - 0 - 0,37,0,0 - 0,19,0,0 - 19,0,19,17.5 - 0 - 0,0,0,0 + 12,11,12,12 - 4 - 2.5 - 5,6,5,6 - 0,0,0,9 - 24,0,0,11 - 0 - 0,9.5,0,0 - 0,0,0,19 - 19,19,19,0 - 19,37,19,0 - 0,0,0,32.5 - 0 - 0 - 1 - 12,11,8,13 - 12,11,8,13 - 12,11,8,13 - 0,0,12,0 - 12,4,8,4 - 0,2,0,0 - 2 - 0 - 0,0,0,4 - 0,0,1,0 - 1,0,0,0 - 2 - 0,9.5,0,9.5 - 10,3,6,6 - 0,0,-2,0 - 12,5,10,5 - 0,0,0,4 - 0,0,20,0 - 20,0,0,0 - 2 - 1 - 4 - Normal - SemiLight - Normal - Normal - Normal - Normal - Normal - Light - Normal - 48 - 48,0,48,27 + 96 + 40 + 758 + + + 0 + + + 0,4,0,4 + + + 12,0,12,0 diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentBaseDark.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentBaseDark.xaml deleted file mode 100644 index 1c65911593..0000000000 --- a/src/Avalonia.Themes.Fluent/Accents/FluentBaseDark.xaml +++ /dev/null @@ -1,455 +0,0 @@ - diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentBaseLight.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentBaseLight.xaml deleted file mode 100644 index ad23955776..0000000000 --- a/src/Avalonia.Themes.Fluent/Accents/FluentBaseLight.xaml +++ /dev/null @@ -1,458 +0,0 @@ - diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml index ae1fe42031..a1f423c059 100644 --- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml @@ -28,19 +28,8 @@ - - - - - - - - - - - - 1 + @@ -53,15 +42,6 @@ - - - - - - - - - 1 @@ -101,45 +81,18 @@ - - - - - - - - - - - - - - - - - - - 21 64 - 80 - 240 1 1 - 0,0,0,4 - 2 11,5,11,7 - 11,11,11,13 - 11,11,11,13 - Normal - SemiLight + Normal - - + @@ -147,17 +100,14 @@ - - + - - + - - + @@ -182,73 +132,18 @@ - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0,4,0,4 - - - - - 0 - - - - - - - - - - - - - - - + + + 4 + 0 1 @@ -268,8 +163,7 @@ - - + @@ -279,50 +173,43 @@ 1 - - - 0.6 - 4 - 0 - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - 12 - + 1 - 0 @@ -362,8 +249,7 @@ - - + @@ -395,23 +281,9 @@ - - - - - - - - - - - - - - + - @@ -419,12 +291,9 @@ - - - @@ -432,12 +301,11 @@ - - + @@ -484,27 +352,11 @@ - - - - - - - - - - - - - - - - + 4 2 0 - 0,0,0,4 Normal @@ -527,44 +379,18 @@ - - - - - - - - - - - - - - - - - - - - - - - + 0 1 - - - - @@ -585,29 +411,6 @@ - - - - - - - - - - - - - - - - - - - - - - - 12 @@ -615,16 +418,12 @@ - - - - 8,5,8,7 + 8,5,8,7 - @@ -633,17 +432,14 @@ - - - @@ -653,6 +449,7 @@ + @@ -667,30 +464,22 @@ - - - - - - XamlAutoFontFamily 24 - 40 - -25 12,0,12,0 12,0,12,0 SemiLight - + @@ -705,24 +494,19 @@ - - + + 0 - 1 - - - - @@ -731,46 +515,19 @@ - - - - - - - - - - - - - - - - - - - - - - - 00:00:00.1 - 00:00:02 - 00:00:00.1 - 00:00:02.1 16 8 - 00:00:00.40 - 00:00:02.00 + @@ -796,11 +553,9 @@ - - - 1 32 + @@ -812,7 +567,9 @@ - + + + diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml index 5af24f57a8..f75af76144 100644 --- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml @@ -28,19 +28,8 @@ - - - - - - - - - - - + - 1 @@ -53,15 +42,7 @@ - - - - - - - - - + 1 @@ -100,45 +81,18 @@ - - - - - - - - - - - - - - - - - - - + - 21 - 64 - 80 - 240 + 64 1 - 1 - 0,0,0,4 - 2 - 11,5,11,7 - 11,11,11,13 - 11,11,11,13 + 1 + 11,5,11,7 Normal - SemiLight - @@ -147,20 +101,16 @@ - - - - @@ -182,81 +132,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0,4,0,4 - - - - - - + 0 - - - - - - - - - - - - - - - - - 0.6 + + 4 0 - - - - - + 1 32 @@ -276,7 +163,6 @@ - @@ -286,41 +172,41 @@ 1 - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - 12 - + 1 - 0 @@ -360,8 +246,7 @@ - - + @@ -393,23 +278,8 @@ - - - - - - - - - - - - - - - + - @@ -417,12 +287,9 @@ - - - @@ -430,12 +297,11 @@ - - + @@ -482,27 +348,11 @@ - - - - - - - - - - - - - - - - + 4 2 0 - 0,0,0,4 Normal @@ -525,44 +375,18 @@ - - - - - - - - - - - - - - - - - - - - - - - + 0 1 - - - - @@ -583,46 +407,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - + 12 1 - - - 8,5,8,7 - + - @@ -631,17 +428,14 @@ - - - @@ -651,7 +445,7 @@ - + @@ -665,30 +459,22 @@ - - - - - - + - XamlAutoFontFamily 24 - 40 - -25 12,0,12,0 12,0,12,0 SemiLight - + @@ -704,23 +490,17 @@ - - + 0 - 1 - - - - @@ -729,46 +509,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - 00:00:00.1 - 00:00:02 - 00:00:00.1 - 00:00:02.1 + 16 8 - 00:00:00.40 - 00:00:02.00 + @@ -794,11 +547,9 @@ - - - 1 32 + @@ -810,7 +561,9 @@ - + + + diff --git a/src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml b/src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml index a4e716c7f6..5110d70a80 100644 --- a/src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml @@ -1,4 +1,5 @@