53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
|
|
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
|
|
using System.Windows.Automation.Peers;
|
|
|
|
namespace WPFluent.Controls;
|
|
|
|
/// <summary>
|
|
/// Inherited from the <see cref="System.Windows.Controls.Primitives.ButtonBase"/> interactive card styled according to
|
|
/// Fluent Design.
|
|
/// </summary>
|
|
public class CardAction : System.Windows.Controls.Primitives.ButtonBase
|
|
{
|
|
/// <summary>
|
|
/// Identifies the <see cref="Icon"/> dependency property.
|
|
/// </summary>
|
|
public static readonly DependencyProperty IconProperty = DependencyProperty.Register(
|
|
nameof(Icon),
|
|
typeof(IconElement),
|
|
typeof(CardAction),
|
|
new PropertyMetadata(null, null, IconElement.Coerce));
|
|
/// <summary>
|
|
/// Identifies the <see cref="IsChevronVisible"/> dependency property.
|
|
/// </summary>
|
|
public static readonly DependencyProperty IsChevronVisibleProperty = DependencyProperty.Register(
|
|
nameof(IsChevronVisible),
|
|
typeof(bool),
|
|
typeof(CardAction),
|
|
new PropertyMetadata(true));
|
|
|
|
protected override AutomationPeer OnCreateAutomationPeer() { return new CardActionAutomationPeer(this); }
|
|
|
|
/// <summary>
|
|
/// Gets or sets displayed <see cref="IconElement"/>.
|
|
/// </summary>
|
|
[Bindable(true)]
|
|
[Category("Appearance")]
|
|
public IconElement Icon { get => (IconElement)GetValue(IconProperty); set => SetValue(IconProperty, value); }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating whether to display the chevron icon on the right side of the card.
|
|
/// </summary>
|
|
[Bindable(true)]
|
|
[Category("Appearance")]
|
|
public bool IsChevronVisible
|
|
{
|
|
get => (bool)GetValue(IsChevronVisibleProperty);
|
|
set => SetValue(IsChevronVisibleProperty, value);
|
|
}
|
|
}
|