diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/InfoElement.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/InfoElement.cs index e522552d..20b2e535 100644 --- a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/InfoElement.cs +++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/InfoElement.cs @@ -38,7 +38,7 @@ public class InfoElement public static readonly AttachedProperty MaxContentHeightProperty = AvaloniaProperty.RegisterAttached("MaxContentHeight", - defaultValue: double.PositiveInfinity); + defaultValue: double.PositiveInfinity, inherits: true); public static void SetMaxContentHeight(AvaloniaObject element, double value) => element.SetValue(MaxContentHeightProperty, value); diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs index cbd64b02..ed95a7ad 100644 --- a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs +++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/TitleElement.cs @@ -95,14 +95,14 @@ public class TitleElement public static Thickness GetMarginOnTheTop(AvaloniaObject element) => element.GetValue(MarginOnTheTopProperty); public static readonly AttachedProperty MinHeightProperty = - AvaloniaProperty.RegisterAttached("MinHeight"); + AvaloniaProperty.RegisterAttached("MinHeight", inherits: true); public static void SetMinHeight(AvaloniaObject element, double value) => element.SetValue(MinHeightProperty, value); public static double GetMinHeight(AvaloniaObject element) => element.GetValue(MinHeightProperty); public static readonly AttachedProperty MinWidthProperty = - AvaloniaProperty.RegisterAttached("MinWidth"); + AvaloniaProperty.RegisterAttached("MinWidth", inherits: true); public static void SetMinWidth(AvaloniaObject element, double value) => element.SetValue(MinWidthProperty, value); diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HeaderedContentControl.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HeaderedContentControl.axaml new file mode 100644 index 00000000..d62ce64c --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HeaderedContentControl.axaml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml index 93fdeb3c..9dd1f06b 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml @@ -54,6 +54,7 @@ + diff --git a/src/Shared/HandyControl_Shared/Controls/Attach/InfoElement.cs b/src/Shared/HandyControl_Shared/Controls/Attach/InfoElement.cs index a0310ae9..ac78ab94 100644 --- a/src/Shared/HandyControl_Shared/Controls/Attach/InfoElement.cs +++ b/src/Shared/HandyControl_Shared/Controls/Attach/InfoElement.cs @@ -9,9 +9,11 @@ public class InfoElement : TitleElement /// 占位符 /// public static readonly DependencyProperty PlaceholderProperty = DependencyProperty.RegisterAttached( - "Placeholder", typeof(string), typeof(InfoElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits)); + "Placeholder", typeof(string), typeof(InfoElement), + new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits)); - public static void SetPlaceholder(DependencyObject element, string value) => element.SetValue(PlaceholderProperty, value); + public static void SetPlaceholder(DependencyObject element, string value) => + element.SetValue(PlaceholderProperty, value); public static string GetPlaceholder(DependencyObject element) => (string) element.GetValue(PlaceholderProperty); @@ -19,9 +21,11 @@ public class InfoElement : TitleElement /// 是否必填 /// public static readonly DependencyProperty NecessaryProperty = DependencyProperty.RegisterAttached( - "Necessary", typeof(bool), typeof(InfoElement), new FrameworkPropertyMetadata(ValueBoxes.FalseBox, FrameworkPropertyMetadataOptions.Inherits)); + "Necessary", typeof(bool), typeof(InfoElement), + new FrameworkPropertyMetadata(ValueBoxes.FalseBox, FrameworkPropertyMetadataOptions.Inherits)); - public static void SetNecessary(DependencyObject element, bool value) => element.SetValue(NecessaryProperty, ValueBoxes.BooleanBox(value)); + public static void SetNecessary(DependencyObject element, bool value) => + element.SetValue(NecessaryProperty, ValueBoxes.BooleanBox(value)); public static bool GetNecessary(DependencyObject element) => (bool) element.GetValue(NecessaryProperty); @@ -29,7 +33,8 @@ public class InfoElement : TitleElement /// 标记 /// public static readonly DependencyProperty SymbolProperty = DependencyProperty.RegisterAttached( - "Symbol", typeof(string), typeof(InfoElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits)); + "Symbol", typeof(string), typeof(InfoElement), + new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits)); public static void SetSymbol(DependencyObject element, string value) => element.SetValue(SymbolProperty, value); @@ -39,9 +44,11 @@ public class InfoElement : TitleElement /// 内容高度 /// public static readonly DependencyProperty ContentHeightProperty = DependencyProperty.RegisterAttached( - "ContentHeight", typeof(double), typeof(InfoElement), new FrameworkPropertyMetadata(28.0, FrameworkPropertyMetadataOptions.Inherits)); + "ContentHeight", typeof(double), typeof(InfoElement), + new FrameworkPropertyMetadata(28.0, FrameworkPropertyMetadataOptions.Inherits)); - public static void SetContentHeight(DependencyObject element, double value) => element.SetValue(ContentHeightProperty, value); + public static void SetContentHeight(DependencyObject element, double value) => + element.SetValue(ContentHeightProperty, value); public static double GetContentHeight(DependencyObject element) => (double) element.GetValue(ContentHeightProperty); @@ -49,7 +56,8 @@ public class InfoElement : TitleElement /// 最小内容高度 /// public static readonly DependencyProperty MinContentHeightProperty = DependencyProperty.RegisterAttached( - "MinContentHeight", typeof(double), typeof(InfoElement), new PropertyMetadata(28.0)); + "MinContentHeight", typeof(double), typeof(InfoElement), + new FrameworkPropertyMetadata(28.0, FrameworkPropertyMetadataOptions.Inherits)); public static void SetMinContentHeight(DependencyObject element, double value) => element.SetValue(MinContentHeightProperty, value); @@ -61,7 +69,8 @@ public class InfoElement : TitleElement /// 最大内容高度 /// public static readonly DependencyProperty MaxContentHeightProperty = DependencyProperty.RegisterAttached( - "MaxContentHeight", typeof(double), typeof(InfoElement), new PropertyMetadata(double.PositiveInfinity)); + "MaxContentHeight", typeof(double), typeof(InfoElement), + new FrameworkPropertyMetadata(double.PositiveInfinity, FrameworkPropertyMetadataOptions.Inherits)); public static void SetMaxContentHeight(DependencyObject element, double value) => element.SetValue(MaxContentHeightProperty, value); @@ -93,7 +102,8 @@ public class InfoElement : TitleElement public static readonly DependencyProperty IsReadOnlyProperty = DependencyProperty.RegisterAttached( "IsReadOnly", typeof(bool), typeof(InfoElement), new PropertyMetadata(ValueBoxes.FalseBox)); - public static void SetIsReadOnly(DependencyObject element, bool value) => element.SetValue(IsReadOnlyProperty, ValueBoxes.BooleanBox(value)); + public static void SetIsReadOnly(DependencyObject element, bool value) => + element.SetValue(IsReadOnlyProperty, ValueBoxes.BooleanBox(value)); public static bool GetIsReadOnly(DependencyObject element) => (bool) element.GetValue(IsReadOnlyProperty); }