You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
using Avalonia; |
|
using Avalonia.Controls; |
|
using Avalonia.Controls.Primitives; |
|
using StabilityMatrix.Core.Attributes; |
|
|
|
namespace StabilityMatrix.Avalonia.Controls; |
|
|
|
[Transient] |
|
public class StackExpander : TemplatedControl |
|
{ |
|
public static readonly StyledProperty<bool> IsExpandedProperty = Expander |
|
.IsExpandedProperty |
|
.AddOwner<StackExpander>(); |
|
|
|
public static readonly StyledProperty<ExpandDirection> ExpandDirectionProperty = Expander |
|
.ExpandDirectionProperty |
|
.AddOwner<StackExpander>(); |
|
|
|
public static readonly StyledProperty<int> SpacingProperty = AvaloniaProperty.Register<StackCard, int>( |
|
"Spacing", |
|
8 |
|
); |
|
|
|
public ExpandDirection ExpandDirection |
|
{ |
|
get => GetValue(ExpandDirectionProperty); |
|
set => SetValue(ExpandDirectionProperty, value); |
|
} |
|
|
|
public bool IsExpanded |
|
{ |
|
get => GetValue(IsExpandedProperty); |
|
set => SetValue(IsExpandedProperty, value); |
|
} |
|
|
|
public int Spacing |
|
{ |
|
get => GetValue(SpacingProperty); |
|
set => SetValue(SpacingProperty, value); |
|
} |
|
}
|
|
|