diff --git a/samples/ControlCatalog/Pages/ViewboxPage.xaml b/samples/ControlCatalog/Pages/ViewboxPage.xaml
index e78cf2bc22..6e649b39a5 100644
--- a/samples/ControlCatalog/Pages/ViewboxPage.xaml
+++ b/samples/ControlCatalog/Pages/ViewboxPage.xaml
@@ -1,66 +1,35 @@
-
-
- F1 M 16.6309,18.6563C 17.1309,
- 8.15625 29.8809,14.1563 29.8809,
- 14.1563C 30.8809,11.1563 34.1308,
- 11.4063 34.1308,11.4063C 33.5,12
- 34.6309,13.1563 34.6309,13.1563C
- 32.1309,13.1562 31.1309,14.9062
- 31.1309,14.9062C 41.1309,23.9062
- 32.6309,27.9063 32.6309,27.9062C
- 24.6309,24.9063 21.1309,22.1562
- 16.6309,18.6563 Z M 16.6309,19.9063C
- 21.6309,24.1563 25.1309,26.1562
- 31.6309,28.6562C 31.6309,28.6562
- 26.3809,39.1562 18.3809,36.1563C
- 18.3809,36.1563 18,38 16.3809,36.9063C
- 15,36 16.3809,34.9063 16.3809,34.9063C
- 16.3809,34.9063 10.1309,30.9062 16.6309,19.9063 Z
-
-
-
+
Viewbox
A control used to scale single child.
-
- None
- Fill
- Uniform
- UniformToFill
-
- Hello World!
-
-
- Hello World!
-
-
- Hello World!
-
-
- Hello World!
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/ControlCatalog/Pages/ViewboxPage.xaml.cs b/samples/ControlCatalog/Pages/ViewboxPage.xaml.cs
index 1b5f4bc7f4..7a2bceb8f2 100644
--- a/samples/ControlCatalog/Pages/ViewboxPage.xaml.cs
+++ b/samples/ControlCatalog/Pages/ViewboxPage.xaml.cs
@@ -1,18 +1,47 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
+using Avalonia.Media;
namespace ControlCatalog.Pages
{
public class ViewboxPage : UserControl
{
+ private readonly Viewbox _viewbox;
+ private readonly ComboBox _stretchSelector;
+
public ViewboxPage()
{
- this.InitializeComponent();
+ InitializeComponent();
+
+ _viewbox = this.FindControl("Viewbox");
+
+ _stretchSelector = this.FindControl("StretchSelector");
+
+ _stretchSelector.Items = new[]
+ {
+ Stretch.Uniform, Stretch.UniformToFill, Stretch.Fill, Stretch.None
+ };
+
+ _stretchSelector.SelectedIndex = 0;
+
+ var stretchDirectionSelector = this.FindControl("StretchDirectionSelector");
+
+ stretchDirectionSelector.Items = new[]
+ {
+ StretchDirection.Both, StretchDirection.DownOnly, StretchDirection.UpOnly
+ };
+
+ stretchDirectionSelector.SelectedIndex = 0;
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
+
+ private void StretchSelector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ _viewbox.Stretch = (Stretch) _stretchSelector.SelectedItem!;
+ }
}
}
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.Base/PropertyStore/BindingEntry.cs b/src/Avalonia.Base/PropertyStore/BindingEntry.cs
index 1b29338f07..362736eb06 100644
--- a/src/Avalonia.Base/PropertyStore/BindingEntry.cs
+++ b/src/Avalonia.Base/PropertyStore/BindingEntry.cs
@@ -79,7 +79,7 @@ namespace Avalonia.PropertyStore
public void OnError(Exception error)
{
- throw new NotImplementedException();
+ throw new NotImplementedException("BindingEntry.OnError is not implemented", error);
}
public void OnNext(BindingValue value)
diff --git a/src/Avalonia.Controls/Image.cs b/src/Avalonia.Controls/Image.cs
index 5fc7d8b6b6..c448729643 100644
--- a/src/Avalonia.Controls/Image.cs
+++ b/src/Avalonia.Controls/Image.cs
@@ -1,5 +1,6 @@
using Avalonia.Media;
using Avalonia.Media.Imaging;
+using Avalonia.Metadata;
namespace Avalonia.Controls
{
@@ -30,13 +31,14 @@ namespace Avalonia.Controls
static Image()
{
- AffectsRender(SourceProperty, StretchProperty);
- AffectsMeasure(SourceProperty, StretchProperty);
+ AffectsRender(SourceProperty, StretchProperty, StretchDirectionProperty);
+ AffectsMeasure(SourceProperty, StretchProperty, StretchDirectionProperty);
}
///
/// Gets or sets the image that will be displayed.
///
+ [Content]
public IImage Source
{
get { return GetValue(SourceProperty); }
diff --git a/src/Avalonia.Controls/Viewbox.cs b/src/Avalonia.Controls/Viewbox.cs
index 781c93bcbe..b65f4b31d8 100644
--- a/src/Avalonia.Controls/Viewbox.cs
+++ b/src/Avalonia.Controls/Viewbox.cs
@@ -1,40 +1,50 @@
-using System;
-using Avalonia.Media;
+using Avalonia.Media;
namespace Avalonia.Controls
{
///
- /// Viewbox is used to scale single child.
+ /// Viewbox is used to scale single child to fit in the available space.
///
///
public class Viewbox : Decorator
{
///
- /// The stretch property
+ /// Defines the property.
///
public static readonly AvaloniaProperty StretchProperty =
- AvaloniaProperty.RegisterDirect(nameof(Stretch),
- v => v.Stretch, (c, v) => c.Stretch = v, Stretch.Uniform);
+ AvaloniaProperty.Register(nameof(Stretch), Stretch.Uniform);
+
+ ///
+ /// Defines the property.
+ ///
+ public static readonly StyledProperty StretchDirectionProperty =
+ AvaloniaProperty.Register(nameof(StretchDirection), StretchDirection.Both);
private Stretch _stretch = Stretch.Uniform;
+ static Viewbox()
+ {
+ ClipToBoundsProperty.OverrideDefaultValue(true);
+ AffectsMeasure(StretchProperty, StretchDirectionProperty);
+ }
+
///
/// Gets or sets the stretch mode,
/// which determines how child fits into the available space.
///
- ///
- /// The stretch.
- ///
public Stretch Stretch
{
get => _stretch;
set => SetAndRaise(StretchProperty, ref _stretch, value);
}
- static Viewbox()
+ ///
+ /// Gets or sets a value controlling in what direction contents will be stretched.
+ ///
+ public StretchDirection StretchDirection
{
- ClipToBoundsProperty.OverrideDefaultValue(true);
- AffectsMeasure(StretchProperty);
+ get => GetValue(StretchDirectionProperty);
+ set => SetValue(StretchDirectionProperty, value);
}
protected override Size MeasureOverride(Size availableSize)
@@ -47,9 +57,9 @@ namespace Avalonia.Controls
var childSize = child.DesiredSize;
- var scale = GetScale(availableSize, childSize, Stretch);
+ var size = Stretch.CalculateSize(availableSize, childSize, StretchDirection);
- return (childSize * scale).Constrain(availableSize);
+ return size.Constrain(availableSize);
}
return new Size();
@@ -62,7 +72,9 @@ namespace Avalonia.Controls
if (child != null)
{
var childSize = child.DesiredSize;
- var scale = GetScale(finalSize, childSize, Stretch);
+ var scale = Stretch.CalculateScaling(finalSize, childSize, StretchDirection);
+
+ // TODO: Viewbox should have another decorator as a child so we won't affect other render transforms.
var scaleTransform = child.RenderTransform as ScaleTransform;
if (scaleTransform == null)
@@ -81,44 +93,5 @@ namespace Avalonia.Controls
return new Size();
}
-
- private static Vector GetScale(Size availableSize, Size childSize, Stretch stretch)
- {
- double scaleX = 1.0;
- double scaleY = 1.0;
-
- bool validWidth = !double.IsPositiveInfinity(availableSize.Width);
- bool validHeight = !double.IsPositiveInfinity(availableSize.Height);
-
- if (stretch != Stretch.None && (validWidth || validHeight))
- {
- scaleX = childSize.Width <= 0.0 ? 0.0 : availableSize.Width / childSize.Width;
- scaleY = childSize.Height <= 0.0 ? 0.0 : availableSize.Height / childSize.Height;
-
- if (!validWidth)
- {
- scaleX = scaleY;
- }
- else if (!validHeight)
- {
- scaleY = scaleX;
- }
- else
- {
- switch (stretch)
- {
- case Stretch.Uniform:
- scaleX = scaleY = Math.Min(scaleX, scaleY);
- break;
-
- case Stretch.UniformToFill:
- scaleX = scaleY = Math.Max(scaleX, scaleY);
- break;
- }
- }
- }
-
- return new Vector(scaleX, scaleY);
- }
}
}
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 @@
+
diff --git a/src/Avalonia.Themes.Fluent/Controls/EmbeddableControlRoot.xaml b/src/Avalonia.Themes.Fluent/Controls/EmbeddableControlRoot.xaml
index 3ff47111eb..79560be933 100644
--- a/src/Avalonia.Themes.Fluent/Controls/EmbeddableControlRoot.xaml
+++ b/src/Avalonia.Themes.Fluent/Controls/EmbeddableControlRoot.xaml
@@ -1,6 +1,6 @@