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 @@ + +