diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/MenuDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/MenuDemoCtl.xaml index 6b4a12371..305ef751b 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/MenuDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/MenuDemoCtl.xaml @@ -6,39 +6,101 @@ xmlns:ex="clr-namespace:HandyControlDemo.Tools.Extension" Background="{DynamicResource RegionBrush}"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Shared/HandyControl_Shared/Controls/Attach/MenuAttach.cs b/src/Shared/HandyControl_Shared/Controls/Attach/MenuAttach.cs index eae15ccaf..880986fe2 100644 --- a/src/Shared/HandyControl_Shared/Controls/Attach/MenuAttach.cs +++ b/src/Shared/HandyControl_Shared/Controls/Attach/MenuAttach.cs @@ -31,4 +31,18 @@ public static void SetItemPadding(DependencyObject element, Thickness value) public static Thickness GetItemPadding(DependencyObject element) => (Thickness) element.GetValue(ItemPaddingProperty); + + public static readonly DependencyProperty ItemMinWidthProperty = DependencyProperty.RegisterAttached( + "ItemMinWidth", typeof(double), typeof(MenuAttach), new PropertyMetadata(ValueBoxes.Double240Box)); + + public static void SetItemMinWidth(DependencyObject obj, double value) => obj.SetValue(ItemMinWidthProperty, value); + + public static double GetItemMinWidth(DependencyObject obj) => (double) obj.GetValue(ItemMinWidthProperty); + + public static readonly DependencyProperty TopLevelMinWidthProperty = DependencyProperty.RegisterAttached( + "TopLevelMinWidth", typeof(double), typeof(MenuAttach), new PropertyMetadata(ValueBoxes.Double44Box)); + + public static void SetTopLevelMinWidth(DependencyObject obj, double value) => obj.SetValue(TopLevelMinWidthProperty, value); + + public static double GetTopLevelMinWidth(DependencyObject obj) => (double) obj.GetValue(TopLevelMinWidthProperty); } diff --git a/src/Shared/HandyControl_Shared/Data/ValueBoxes.cs b/src/Shared/HandyControl_Shared/Data/ValueBoxes.cs index 28f747c2a..c41f00651 100644 --- a/src/Shared/HandyControl_Shared/Data/ValueBoxes.cs +++ b/src/Shared/HandyControl_Shared/Data/ValueBoxes.cs @@ -33,10 +33,14 @@ internal static class ValueBoxes internal static object Double20Box = 20.0; + internal static object Double44Box = 44.0; + internal static object Double100Box = 100.0; internal static object Double200Box = 200.0; + internal static object Double240Box = 240.0; + internal static object Double300Box = 300.0; internal static object DoubleNeg1Box = -1.0; diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/MenuBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/MenuBaseStyle.xaml index d73cc7e14..b03b90653 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/MenuBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/MenuBaseStyle.xaml @@ -15,7 +15,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -147,7 +147,7 @@ - +