diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
index 545fe3f7..eca6bbf1 100644
--- a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
+++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
@@ -8,6 +8,7 @@
[ "Button", "ButtonDemo", "Brush.ButtonClick", "", "" ],
[ "RepeatButton", "RepeatButtonDemo", "Brush.RepeatButton", "", "" ],
[ "ToggleButton", "ToggleButtonDemo", "Brush.Toggle", "", "" ],
+ [ "ToggleSwitch", "ToggleSwitchDemo", "Brush.Toggle", "1", "" ],
[ "RadioButton", "RadioButtonDemo", "Brush.RadioButton", "", "" ],
[ "HyperlinkButton", "HyperlinkButtonDemo", "Brush.Hyperlink", "", "" ],
[ "CheckBox", "CheckBoxDemo", "Brush.CheckBoxChecked", "", "" ],
@@ -34,83 +35,17 @@
"selectedIndex": 0,
"group": true,
"demoItemList": [
- [ "FloatingBlock", "FloatingBlockDemo", "Brush.LikeFilled", "", "Interacting" ],
[ "ConfettiCannon", "ConfettiCannonDemo", "Brush.Favorite", "", "Interacting" ],
- [ "PropertyGrid", "PropertyGridDemo", "Brush.PropertyGridEditorPart", "", "DataEntry" ],
- [ "ImageSelector", "ImageSelectorDemo", "Brush.Image", "", "DataEntry" ],
- [ "ImageBlock", "ImageBlockDemo", "Brush.ImageStack", "", "DataDisplay" ],
- [ "Magnifier", "MagnifierDemo", "Brush.Search", "", "Interacting" ],
[ "Gravatar", "GravatarDemo", "Brush.User", "", "DataDisplay" ],
- [ "Badge", "BadgeDemo", "Brush.CheckDot", "", "DataDisplay" ],
- [ "SplitButton", "SplitButtonDemo", "Brush.SplitButton", "", "Button" ],
[ "ButtonGroup", "ButtonGroupDemo", "Brush.ButtonGroup", "", "Button" ],
- [ "ProgressButton", "ProgressButtonDemo", "Brush.ProgressBarStatusBar8", "", "Button" ],
- [ "Poptip", "PoptipDemo", "Brush.ToolTip", "", "DataDisplay" ],
- [ "CheckComboBox", "CheckComboBoxDemo", "Brush.CheckBoxList", "", "DataEntry" ],
- [ "AutoCompleteTextBox", "AutoCompleteTextBoxDemo", "Brush.AutoComplete", "1", "DataEntry" ],
- [ "PinBox", "PinBoxDemo", "Brush.Ellipsis", "", "DataEntry" ],
- [ "Clock", "ClockDemo", "Brush.Time", "", "DataEntry" ],
- [ "TimePicker", "TimePickerDemo", "Brush.TimePicker", "", "DataEntry" ],
- [ "CalendarWithClock", "CalendarWithClockDemo", "Brush.Calendar", "", "DataEntry" ],
- [ "DateTimePicker", "DateTimePickerDemo", "Brush.DateTimePicker", "", "DataEntry" ],
- [ "Transfer", "TransferDemo", "Brush.SyncArrow", "", "DataEntry" ],
- [ "FlipClock", "FlipClockDemo", "Brush.FlipVertical", "", "DataDisplay" ],
- [ "Rate", "RateDemo", "Brush.HeartFilled", "", "DataEntry" ],
- [ "Shield", "ShieldDemo", "Brush.SplitKeyValuePair", "", "DataDisplay" ],
- [ "SearchBar", "SearchBarDemo", "Brush.Search", "", "DataEntry" ],
- [ "Tag", "TagDemo", "Brush.Tag", "", "DataDisplay" ],
- [ "GifImage", "GifImageDemo", "Brush.Animation", "", "DataDisplay" ],
- [ "OutlineText", "OutlineTextDemo", "Brush.TextBlock", "", "DataDisplay" ],
- [ "RunningBlock", "RunningBlockDemo", "Brush.Dynamic", "", "DataDisplay" ],
[ "Card", "CardDemo", "Brush.ContactCard", "", "DataDisplay" ],
[ "ElementGroup", "ElementGroupDemo", "Brush.ButtonGroup", "1", "Layout" ],
- [ "Divider", "DividerDemo", "Brush.DottedSplitter", "", "Layout" ],
[ "CirclePanel", "CirclePanelDemo", "Brush.ColorWheel", "", "Layout" ],
[ "Grid", "GridDemo", "Brush.GridPane", "", "Layout" ],
[ "FlexPanel", "FlexPanelDemo", "Brush.FlowLayoutPanel", "1", "Layout" ],
- [ "UniformSpacingPanel", "UniformSpacingPanelDemo", "Brush.IncreaseHorizontalSpacing", "1", "Layout" ],
- [ "RelativePanel", "RelativePanelDemo", "Brush.TransformRelative", "", "Layout" ],
[ "WaterfallPanel", "WaterfallPanelDemo", "Brush.Panel", "", "Layout" ],
[ "HoneycombPanel", "HoneycombPanelDemo", "Brush.PolygonHexagon", "", "Layout" ],
- [ "TransitioningContentControl", "TransitioningContentControlDemo", "Brush.TransitioningContentControl", "", "Interacting" ],
- [ "Drawer", "DrawerDemo", "Brush.TransactedReceiveScope", "", "Feedback" ],
- [ "CoverView", "CoverViewDemo", "Brush.DetailDataView", "", "DataDisplay" ],
- [ "CoverFlow", "CoverFlowDemo", "Brush.LinearCarousel", "", "DataDisplay" ],
- [ "ProgressBar", "ProgressBarDemo", "Brush.ProgressBar", "", "Feedback" ],
- [ "StepBar", "StepBarDemo", "Brush.Flow", "", "Navigation" ],
- [ "Growl", "GrowlDemo", "Brush.Message", "", "Feedback" ],
- [ "Loading", "LoadingDemo", "Brush.Loading", "", "Feedback" ],
- [ "ColorPicker", "ColorPickerDemo", "Brush.ColorPalette", "", "DataEntry" ],
- [ "Carousel", "CarouselDemo", "Brush.Carousel", "", "DataDisplay" ],
- [ "CompareSlider", "CompareSliderDemo", "Brush.SplitterControl", "", "Interacting" ],
- [ "PreviewSlider", "PreviewSliderDemo", "Brush.HoverMenu", "", "DataEntry" ],
- [ "RangeSlider", "RangeSliderDemo", "Brush.Indexer", "", "DataEntry" ],
- [ "TimeBar", "TimeBarDemo", "Brush.Timeline", "", "DataEntry" ],
- [ "Pagination", "PaginationDemo", "Brush.Paginator", "", "Navigation" ],
- [ "TabControl", "TabControlDemo", "Brush.TabPage", "", "DataDisplay" ],
- [ "SideMenu", "SideMenuDemo", "Brush.MainMenuControl", "", "Navigation" ],
- [ "Notification", "NotificationDemo", "Brush.Procedure", "", "Feedback" ],
- [ "Dialog", "DialogDemo", "Brush.Dialog", "", "Feedback" ],
- [ "Screenshot", "ScreenshotDemo", "Brush.WindowScreenshot", "", "" ],
- [ "GotoTop", "GotoTopDemo", "Brush.GoToTop", "", "" ],
- [ "ChatBubble", "ChatBubbleDemo", "Brush.FeedbackBubble", "", "" ],
- [ "Watermark", "WatermarkDemo", "Brush.GridLight", "1", "" ],
- [ "NotifyIcon", "NotifyIconDemo", "Brush.NotificationHub", "", "" ],
- [ "ImageBrowser", "ImageBrowserDemo", "Brush.ImageBrowser", "", "" ],
- [ "AnimationPath", "AnimationPathDemo", "Brush.Path", "", "" ],
- [ "ScrollViewer", "ScrollViewerDemo", "Brush.ScrollBox", "", "" ],
- [ "Sprite", "SpriteDemo", "Brush.HandyControl", "", "" ],
- [ "Window", "WindowDemo", "Brush.WindowsForm", "", "" ]
- ]
- },
- {
- "title": "Tools",
- "selectedIndex": 0,
- "group": false,
- "demoItemList": [
- [ "HatchBrushGenerator", "HatchBrushGeneratorDemo", "Brush.DataGenerator", "", "" ],
- [ "MorphingAnimation", "GeometryAnimationDemo", "Brush.Animation", "", "" ],
- [ "Effects", "EffectsDemo", "Brush.Effects", "", "" ]
+ [ "UniformSpacingPanel", "UniformSpacingPanelDemo", "Brush.IncreaseHorizontalSpacing", "1", "Layout" ]
]
}
]
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml
new file mode 100644
index 00000000..f8a49ec9
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml.cs
new file mode 100644
index 00000000..f93b2522
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/UniformSpacingPanelDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class UniformSpacingPanelDemo : Avalonia.Controls.UserControl
+{
+ public UniformSpacingPanelDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml
index 58cb4fb2..b06572d6 100644
--- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Main/LeftMainContent.axaml
@@ -1,4 +1,4 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ToggleSwitchDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ToggleSwitchDemo.axaml.cs
new file mode 100644
index 00000000..fb004d59
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ToggleSwitchDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class ToggleSwitchDemo : Avalonia.Controls.UserControl
+{
+ public ToggleSwitchDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml
index ecd1b482..1347e8e7 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml
@@ -35,6 +35,7 @@
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToggleSwitch.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToggleSwitch.axaml
new file mode 100644
index 00000000..f0f3f154
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToggleSwitch.axaml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+