Files
ShrlAlgoToolkit/WPFluent/Controls/CardExpander/CardExpander.cs

67 lines
2.2 KiB
C#

// ReSharper disable once CheckNamespace
namespace WPFluent.Controls;
/// <summary>
/// Inherited from the <see cref="System.Windows.Controls.Expander"/> control which can hide the collapsible content.
/// </summary>
public class CardExpander : System.Windows.Controls.Expander
{
/// <summary>
/// Identifies the <see cref="ContentPadding"/> dependency property.
/// </summary>
public static readonly DependencyProperty ContentPaddingProperty = DependencyProperty.Register(
nameof(ContentPadding),
typeof(Thickness),
typeof(CardExpander),
new FrameworkPropertyMetadata(default(Thickness), FrameworkPropertyMetadataOptions.AffectsParentMeasure));
/// <summary>
/// Identifies the <see cref="CornerRadius"/> dependency property.
/// </summary>
public static readonly DependencyProperty CornerRadiusProperty = DependencyProperty.Register(
nameof(CornerRadius),
typeof(CornerRadius),
typeof(CardExpander),
new PropertyMetadata(new CornerRadius(4)));
/// <summary>
/// Identifies the <see cref="Icon"/> dependency property.
/// </summary>
public static readonly DependencyProperty IconProperty = DependencyProperty.Register(
nameof(Icon),
typeof(IconElement),
typeof(CardExpander),
new PropertyMetadata(null, null, IconElement.Coerce));
/// <summary>
/// Gets or sets content padding Property
/// </summary>
[Bindable(true)]
[Category("Layout")]
public Thickness ContentPadding
{
get { return (Thickness)GetValue(ContentPaddingProperty); }
set { SetValue(ContentPaddingProperty, value); }
}
/// <summary>
/// Gets or sets displayed <see cref="IconElement"/>.
/// </summary>
[Bindable(true)]
[Category("Appearance")]
public CornerRadius CornerRadius
{
get => (CornerRadius)GetValue(CornerRadiusProperty);
set => SetValue(CornerRadiusProperty, value);
}
/// <summary>
/// Gets or sets displayed <see cref="IconElement"/>.
/// </summary>
[Bindable(true)]
[Category("Appearance")]
public IconElement? Icon { get => (IconElement?)GetValue(IconProperty); set => SetValue(IconProperty, value); }
}