Files
Ursa.Avalonia/demo/Ursa.Demo/ViewModels/BreadcrumbDemoViewModel.cs
2024-07-30 18:33:30 +08:00

36 lines
1.1 KiB
C#

using System.Collections.ObjectModel;
using System.Windows.Input;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Ursa.Controls;
namespace Ursa.Demo.ViewModels;
public class BreadcrumbDemoViewModel: ObservableObject
{
public ObservableCollection<BreadcrumbDemoItem> Items1 { get; set; } =
[
new BreadcrumbDemoItem { Section = "Home", Icon = "Home" },
new BreadcrumbDemoItem { Section = "Page 1", Icon = "Page" },
new BreadcrumbDemoItem { Section = "Page 2", Icon = "Page" },
new BreadcrumbDemoItem { Section = "Page 3", Icon = "Page" },
new BreadcrumbDemoItem { Section = "Page 4", Icon = "Page", IsReadOnly = true }
];
}
public partial class BreadcrumbDemoItem: ObservableObject
{
public string? Section { get; set; }
public string? Icon { get; set; }
[ObservableProperty] private bool _isReadOnly;
public ICommand Command { get; set; }
public BreadcrumbDemoItem()
{
Command = new AsyncRelayCommand(async () =>
{
await MessageBox.ShowOverlayAsync(Section ?? string.Empty);
});
}
}