Avalonia project

This commit is contained in:
2022-01-26 09:54:03 +01:00
parent 5e688ae7b1
commit 0025339261
2396 changed files with 4986 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
using FileTime.Core.Models;
using FileTime.Avalonia.Models;
using FileTime.Avalonia.Services;
using MvvmGen;
using System.Collections.Generic;
namespace FileTime.Avalonia.ViewModels
{
[ViewModel]
[Inject(typeof(ItemNameConverterService))]
public partial class ElementViewModel : IItemViewModel
{
public IItem Item => _element;
[Property]
private IElement _element;
[Property]
private bool _isSelected;
[Property]
private bool _isAlternative;
[PropertyInvalidate(nameof(IsSelected))]
[PropertyInvalidate(nameof(IsAlternative))]
public ItemViewMode ViewMode =>
IsSelected
? ItemViewMode.Selected
: IsAlternative
? ItemViewMode.Alternative
: ItemViewMode.Default;
public List<ItemNamePart> DisplayName => ItemNameConverterService.GetDisplayName(this);
public ElementViewModel(IElement element, ItemNameConverterService itemNameConverterService) : this(itemNameConverterService)
{
Element = element;
}
public void InvalidateDisplayName() => OnPropertyChanged(nameof(DisplayName));
}
}