From f39df90b93e1543d531058b058be292c85942ebc Mon Sep 17 00:00:00 2001
From: JamRemco <58340108+JamRemco@users.noreply.github.com>
Date: Tue, 2 Jun 2020 16:41:28 +0200
Subject: [PATCH 01/23] Init Wip for ToggleSwitch
---
src/Avalonia.Controls/ToggleSwitch.cs | 11 +
.../Avalonia.Themes.Default.csproj | 8 +
src/Avalonia.Themes.Default/DefaultTheme.xaml | 1 +
src/Avalonia.Themes.Default/ToggleSwitch.xaml | 188 +++++++++++++++++
.../Accents/FluentControlResourcesLight.xaml | 3 +
.../Avalonia.Themes.Fluent.csproj | 8 +
src/Avalonia.Themes.Fluent/FluentTheme.xaml | 1 +
src/Avalonia.Themes.Fluent/ToggleSwitch.xaml | 194 ++++++++++++++++++
8 files changed, 414 insertions(+)
create mode 100644 src/Avalonia.Controls/ToggleSwitch.cs
create mode 100644 src/Avalonia.Themes.Default/ToggleSwitch.xaml
create mode 100644 src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
diff --git a/src/Avalonia.Controls/ToggleSwitch.cs b/src/Avalonia.Controls/ToggleSwitch.cs
new file mode 100644
index 0000000000..bc9c6f1ff4
--- /dev/null
+++ b/src/Avalonia.Controls/ToggleSwitch.cs
@@ -0,0 +1,11 @@
+using Avalonia.Controls.Primitives;
+
+namespace Avalonia.Controls
+{
+ ///
+ /// A check box control.
+ ///
+ public class ToggleSwitch : ToggleButton
+ {
+ }
+}
diff --git a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
index c44cc358e8..d2c6d69bfe 100644
--- a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
+++ b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
@@ -17,6 +17,14 @@
+
+
+
+
+
+ MSBuild:Compile
+
+
diff --git a/src/Avalonia.Themes.Default/DefaultTheme.xaml b/src/Avalonia.Themes.Default/DefaultTheme.xaml
index 67279fca99..3ed0115fff 100644
--- a/src/Avalonia.Themes.Default/DefaultTheme.xaml
+++ b/src/Avalonia.Themes.Default/DefaultTheme.xaml
@@ -52,4 +52,5 @@
+
diff --git a/src/Avalonia.Themes.Default/ToggleSwitch.xaml b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
new file mode 100644
index 0000000000..e929810376
--- /dev/null
+++ b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
index 15e157f573..15e0925f85 100644
--- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
+++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
@@ -343,5 +343,8 @@
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj b/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
index 3c3e14010d..00846f33fd 100644
--- a/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
+++ b/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
@@ -17,6 +17,14 @@
+
+
+
+
+
+ MSBuild:Compile
+
+
diff --git a/src/Avalonia.Themes.Fluent/FluentTheme.xaml b/src/Avalonia.Themes.Fluent/FluentTheme.xaml
index 266acce971..dbbe3d6e69 100644
--- a/src/Avalonia.Themes.Fluent/FluentTheme.xaml
+++ b/src/Avalonia.Themes.Fluent/FluentTheme.xaml
@@ -52,4 +52,5 @@
+
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
new file mode 100644
index 0000000000..1fe9788839
--- /dev/null
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 97bbb3ba92bf35ea80aaa0bf0868117147070466 Mon Sep 17 00:00:00 2001
From: JamRemco <58340108+JamRemco@users.noreply.github.com>
Date: Wed, 3 Jun 2020 14:10:54 +0200
Subject: [PATCH 02/23] added light fluent resources
---
src/Avalonia.Themes.Default/ToggleSwitch.xaml | 335 +++++++++---------
.../Accents/FluentControlResourcesDark.xaml | 62 ++++
src/Avalonia.Themes.Fluent/ToggleSwitch.xaml | 39 +-
3 files changed, 254 insertions(+), 182 deletions(-)
diff --git a/src/Avalonia.Themes.Default/ToggleSwitch.xaml b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
index e929810376..3cdcb3f6c5 100644
--- a/src/Avalonia.Themes.Default/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
@@ -1,170 +1,177 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
index 7364c339f1..8265c22a88 100644
--- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
+++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
@@ -343,5 +343,67 @@
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index 1fe9788839..2b665753b1 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -2,20 +2,21 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
-
+
+
+
-
+
@@ -31,17 +32,18 @@
-
-
-
-
-
+
+
-->
+
+
From 23fc2c945ee542a7a12d3185f03683274e7b65a9 Mon Sep 17 00:00:00 2001
From: JamRemco <58340108+JamRemco@users.noreply.github.com>
Date: Thu, 4 Jun 2020 20:33:32 +0200
Subject: [PATCH 03/23] Dark resources and some minors
---
src/Avalonia.Controls/ToggleSwitch.cs | 7 +-
src/Avalonia.Themes.Default/ToggleSwitch.xaml | 11 +-
.../Accents/FluentControlResourcesDark.xaml | 114 +++++++++---------
.../Accents/FluentControlResourcesLight.xaml | 60 ++++++++-
src/Avalonia.Themes.Fluent/ToggleSwitch.xaml | 12 +-
5 files changed, 134 insertions(+), 70 deletions(-)
diff --git a/src/Avalonia.Controls/ToggleSwitch.cs b/src/Avalonia.Controls/ToggleSwitch.cs
index bc9c6f1ff4..19f282d2d1 100644
--- a/src/Avalonia.Controls/ToggleSwitch.cs
+++ b/src/Avalonia.Controls/ToggleSwitch.cs
@@ -3,9 +3,14 @@
namespace Avalonia.Controls
{
///
- /// A check box control.
+ /// A WinUi like ToggleSwitch control.
///
public class ToggleSwitch : ToggleButton
{
}
}
+/********** Todo ***********
+ *
+ * Implement ContenOff property
+ * Implement ContentOn property.
+*/
diff --git a/src/Avalonia.Themes.Default/ToggleSwitch.xaml b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
index 3cdcb3f6c5..69ac64bb28 100644
--- a/src/Avalonia.Themes.Default/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
@@ -93,7 +93,7 @@
-
+
@@ -104,7 +104,7 @@
-
+
@@ -126,7 +126,7 @@
-
+
-->
+
diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
index 8265c22a88..da3c20e844 100644
--- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
+++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml
@@ -345,65 +345,65 @@
-
+
0
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
index 15e0925f85..00e2e38ade 100644
--- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
+++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml
@@ -345,6 +345,64 @@
-
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index 2b665753b1..061551f9e7 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -93,7 +93,7 @@
-
+
@@ -104,7 +104,7 @@
-
+
@@ -119,14 +119,14 @@
-
+
-
+
-
+
-
+ -->
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index 061551f9e7..b423416d7c 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -143,9 +143,9 @@
-
+ -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index b423416d7c..2c9309fe93 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -62,7 +62,7 @@
Name="PART_CircleThumb"
Height="10" Width="10"
Canvas.Top="7"
- Canvas.Left="5"/>
+ />
@@ -126,7 +126,7 @@
-
+
diff --git a/samples/ControlCatalog/MainView.xaml.cs b/samples/ControlCatalog/MainView.xaml.cs
index 2d01d37dbe..3fd94bd60a 100644
--- a/samples/ControlCatalog/MainView.xaml.cs
+++ b/samples/ControlCatalog/MainView.xaml.cs
@@ -32,30 +32,30 @@ namespace ControlCatalog
}
- var light = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
- {
- Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default")
- };
- var dark = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
- {
- Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default")
- };
+ //var light = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
+ //{
+ // Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default")
+ //};
+ //var dark = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
+ //{
+ // Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default")
+ //};
- var themes = this.Find("Themes");
- themes.SelectionChanged += (sender, e) =>
- {
- switch (themes.SelectedIndex)
- {
- case 0:
- Styles[0] = light;
- break;
- case 1:
- Styles[0] = dark;
- break;
- }
- };
- Styles.Add(light);
+ //var themes = this.Find("Themes");
+ //themes.SelectionChanged += (sender, e) =>
+ //{
+ // switch (themes.SelectedIndex)
+ // {
+ // case 0:
+ // Styles[0] = light;
+ // break;
+ // case 1:
+ // Styles[0] = dark;
+ // break;
+ // }
+ //};
+ //Styles.Add(light);
var decorations = this.Find("Decorations");
decorations.SelectionChanged += (sender, e) =>
diff --git a/samples/ControlCatalog/MainWindow.xaml b/samples/ControlCatalog/MainWindow.xaml
index a0bb956425..670e30725b 100644
--- a/samples/ControlCatalog/MainWindow.xaml
+++ b/samples/ControlCatalog/MainWindow.xaml
@@ -7,7 +7,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:ControlCatalog.ViewModels"
xmlns:v="clr-namespace:ControlCatalog.Views"
- x:Class="ControlCatalog.MainWindow" WindowState="{Binding WindowState, Mode=TwoWay}" Background="Transparent">
+ x:Class="ControlCatalog.MainWindow" WindowState="{Binding WindowState, Mode=TwoWay}">
diff --git a/samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml b/samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml
index f90a0c4658..8888cf921a 100644
--- a/samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml
+++ b/samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml
@@ -32,6 +32,7 @@
+ Light
diff --git a/src/Avalonia.Themes.Default/ToggleSwitch.xaml b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
index 556e32faab..f7e2c209a2 100644
--- a/src/Avalonia.Themes.Default/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Default/ToggleSwitch.xaml
@@ -1,7 +1,9 @@
-
+
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:sys="clr-namespace:System;assembly=netstandard">
+
@@ -12,7 +14,7 @@
-
@@ -44,9 +46,10 @@
-
+
+
-
-
-
+ Canvas.Top="7"/>
+
-
-
+
+
+
+
-
+
+
+
-
-
+
+
+
+
+
@@ -157,22 +182,45 @@
+
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+ 5
+ 28
+ RoyalBlue
+ White
-
+
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index 2c9309fe93..bae8151563 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -1,177 +1,236 @@
+
-
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:sys="clr-namespace:System;assembly=netstandard">
+
-
+
-
-
-
+
-
+
-
-
-
+
+ />
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+ 5
+ 26
+ RoyalBlue
+
+ White
+
+
+
From f7d0088d553593ab3079c7f0060a9664717e219b Mon Sep 17 00:00:00 2001
From: JamRemco <58340108+JamRemco@users.noreply.github.com>
Date: Wed, 10 Jun 2020 18:46:54 +0200
Subject: [PATCH 07/23] Fix some colors
---
samples/ControlCatalog/App.xaml | 11 +-
src/Avalonia.Themes.Default/ToggleSwitch.xaml | 388 +++++++++--------
src/Avalonia.Themes.Fluent/ToggleSwitch.xaml | 404 +++++++++---------
3 files changed, 421 insertions(+), 382 deletions(-)
diff --git a/samples/ControlCatalog/App.xaml b/samples/ControlCatalog/App.xaml
index de0c273dfb..d289767100 100644
--- a/samples/ControlCatalog/App.xaml
+++ b/samples/ControlCatalog/App.xaml
@@ -2,14 +2,15 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.App">
-
+
-
-
+
+
+
+
+
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
-
-
-
- 5
- 28
- RoyalBlue
- White
-
+
+
+ 5
+ 28
+ RoyalBlue
+
+ White
+
+
+
diff --git a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
index bae8151563..2f311043fd 100644
--- a/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
+++ b/src/Avalonia.Themes.Fluent/ToggleSwitch.xaml
@@ -1,8 +1,8 @@
-
+
-
+
@@ -14,8 +14,8 @@
Text="Updates will be automaticly Downloaded and installed shile the computer is shutting down or restarting"
TextWrapping="Wrap"/>
+ FontWeight="Medium"
+ VerticalAlignment="Bottom" />
@@ -25,154 +25,147 @@
-
+ FontWeight="Medium"/>
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+ 5
+ 28
+ RoyalBlue
+ White
-
-
- 5
- 26
- RoyalBlue
-
- White
-
-
+
From 78993eb33cb062c0bba8cc352c17fae1ecd31484 Mon Sep 17 00:00:00 2001
From: JamRemco <58340108+JamRemco@users.noreply.github.com>
Date: Fri, 12 Jun 2020 19:48:52 +0200
Subject: [PATCH 08/23] Add contentoff and contentOn to toggleswitch Add more
resource suport
---
src/Avalonia.Controls/ToggleSwitch.cs | 115 ++++-
.../Accents/FluentControlResourcesDark.xaml | 7 +-
.../Accents/FluentControlResourcesLight.xaml | 10 +-
src/Avalonia.Themes.Fluent/ToggleSwitch.xaml | 465 ++++++++++--------
4 files changed, 375 insertions(+), 222 deletions(-)
diff --git a/src/Avalonia.Controls/ToggleSwitch.cs b/src/Avalonia.Controls/ToggleSwitch.cs
index 19f282d2d1..16caf8dbfb 100644
--- a/src/Avalonia.Controls/ToggleSwitch.cs
+++ b/src/Avalonia.Controls/ToggleSwitch.cs
@@ -1,16 +1,119 @@
using Avalonia.Controls.Primitives;
+using Avalonia.Controls.Mixins;
+using Avalonia.Controls.Presenters;
+using Avalonia.Controls.Templates;
+using Avalonia.LogicalTree;
+
namespace Avalonia.Controls
{
///
/// A WinUi like ToggleSwitch control.
///
+ ///
+
public class ToggleSwitch : ToggleButton
{
- }
+ public static readonly StyledProperty