54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System.Windows.Input;
|
|
using Avalonia;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Controls.Metadata;
|
|
using Avalonia.Controls.Templates;
|
|
|
|
namespace Ursa.Controls;
|
|
|
|
[PseudoClasses(PC_Last)]
|
|
public class BreadcrumbItem: ContentControl
|
|
{
|
|
public const string PC_Last = ":last";
|
|
public static readonly StyledProperty<object?> SeparatorProperty =
|
|
AvaloniaProperty.Register<BreadcrumbItem, object?>(
|
|
nameof(Separator));
|
|
|
|
public object? Separator
|
|
{
|
|
get => GetValue(SeparatorProperty);
|
|
set => SetValue(SeparatorProperty, value);
|
|
}
|
|
|
|
public static readonly StyledProperty<object?> IconProperty = AvaloniaProperty.Register<BreadcrumbItem, object?>(
|
|
nameof(Icon));
|
|
|
|
public object? Icon
|
|
{
|
|
get => GetValue(IconProperty);
|
|
set => SetValue(IconProperty, value);
|
|
}
|
|
|
|
public static readonly StyledProperty<ICommand?> CommandProperty = AvaloniaProperty.Register<BreadcrumbItem, ICommand?>(
|
|
nameof(Command));
|
|
|
|
public ICommand? Command
|
|
{
|
|
get => GetValue(CommandProperty);
|
|
set => SetValue(CommandProperty, value);
|
|
}
|
|
|
|
public static readonly StyledProperty<IDataTemplate?> IconTemplateProperty = AvaloniaProperty.Register<BreadcrumbItem, IDataTemplate?>(
|
|
nameof(IconTemplate));
|
|
|
|
public IDataTemplate? IconTemplate
|
|
{
|
|
get => GetValue(IconTemplateProperty);
|
|
set => SetValue(IconTemplateProperty, value);
|
|
}
|
|
|
|
static BreadcrumbItem()
|
|
{
|
|
|
|
}
|
|
} |