diff --git a/src/Avalonia/Directory.Build.props b/src/Avalonia/Directory.Build.props
index 02fc2c07..a131f17e 100644
--- a/src/Avalonia/Directory.Build.props
+++ b/src/Avalonia/Directory.Build.props
@@ -1,6 +1,6 @@
enable
- 11.3.2
+ 11.3.4
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
index da4764c2..ca4199f2 100644
--- a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
+++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
@@ -19,19 +19,12 @@
[ "Expander", "ExpanderDemo", "Brush.Expander", "", "" ],
[ "ProgressBar", "NativeProgressBarDemo", "Brush.ProgressBar", "", "" ],
[ "Calendar", "CalendarDemo", "Brush.Calendar", "", "" ],
- [ "DatePicker", "NativeDatePickerDemo", "Brush.DateTimePicker", "", "" ],
[ "TabControl", "NativeTabControlDemo", "Brush.TabPage", "", "" ],
- [ "DataGrid", "DataGridDemo", "Brush.DataGrid", "", "" ],
[ "TreeView", "TreeViewDemo", "Brush.TreeView", "", "" ],
[ "ListBox", "ListBoxDemo", "Brush.ListBox", "", "" ],
- [ "GroupBox", "GroupBoxDemo", "Brush.GroupBox", "", "" ],
[ "Menu", "MenuDemo", "Brush.ContextMenu", "", "" ],
- [ "ToolBar", "ToolBarDemo", "Brush.ToolBar", "", "" ],
[ "Border", "BorderDemo", "Brush.BorderElement", "", "" ],
[ "Label", "LabelDemo", "Brush.Label", "", "" ],
- [ "Frame", "FrameDemo", "Brush.FrameBorder", "", "" ],
- [ "Window", "NativeWindowDemo", "Brush.WindowsForm", "", "" ],
- [ "Geometry", "GeometryDemo", "Brush.Path", "", "" ]
]
},
{
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml
new file mode 100644
index 00000000..359d934c
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml.cs
new file mode 100644
index 00000000..03efeb30
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/MenuDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class MenuDemo : Avalonia.Controls.UserControl
+{
+ public MenuDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/MenuAttach.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/MenuAttach.cs
new file mode 100644
index 00000000..e13e3cc0
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/MenuAttach.cs
@@ -0,0 +1,32 @@
+using Avalonia;
+
+namespace HandyControl.Controls;
+
+public class MenuAttach
+{
+ public static readonly AttachedProperty PopupVerticalOffsetProperty =
+ AvaloniaProperty.RegisterAttached("PopupVerticalOffset");
+
+ public static void SetPopupVerticalOffset(AvaloniaObject element, double value) =>
+ element.SetValue(PopupVerticalOffsetProperty, value);
+
+ public static double GetPopupVerticalOffset(AvaloniaObject element) =>
+ element.GetValue(PopupVerticalOffsetProperty);
+
+ public static readonly AttachedProperty PopupHorizontalOffsetProperty =
+ AvaloniaProperty.RegisterAttached("PopupHorizontalOffset");
+
+ public static void SetPopupHorizontalOffset(AvaloniaObject element, double value) =>
+ element.SetValue(PopupHorizontalOffsetProperty, value);
+
+ public static double GetPopupHorizontalOffset(AvaloniaObject element) =>
+ element.GetValue(PopupHorizontalOffsetProperty);
+
+ public static readonly AttachedProperty ItemPaddingProperty =
+ AvaloniaProperty.RegisterAttached("ItemPadding");
+
+ public static void SetItemPadding(AvaloniaObject element, Thickness value) =>
+ element.SetValue(ItemPaddingProperty, value);
+
+ public static Thickness GetItemPadding(AvaloniaObject element) => element.GetValue(ItemPaddingProperty);
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
index 4a3329d6..00110357 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
@@ -12,6 +12,7 @@
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ContextMenu.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ContextMenu.axaml
new file mode 100644
index 00000000..eac8186b
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ContextMenu.axaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Menu.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Menu.axaml
new file mode 100644
index 00000000..cfd2592b
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/Menu.axaml
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ScrollViewer.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ScrollViewer.axaml
index 21532c93..492bd0b9 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ScrollViewer.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ScrollViewer.axaml
@@ -1,5 +1,7 @@
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:hc="https://handyorg.github.io/handycontrol"
+ xmlns:converters="using:Avalonia.Controls.Converters">
-
@@ -229,4 +231,73 @@
Value=".8" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToolTip.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToolTip.axaml
index 6b1bb397..c3163c52 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToolTip.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ToolTip.axaml
@@ -1,7 +1,7 @@
-
@@ -34,4 +34,9 @@
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
index aee3f627..8e974b31 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
@@ -42,6 +42,8 @@
+
+