using System.ComponentModel; using System.Runtime.CompilerServices; namespace CommanderApp { public class FileSystemItem : INotifyPropertyChanged { public string Name { get; set; } public string FullName { get; set; } public bool IsDirectory { get; set; } public string Icon => IsDirectory ? "folder.png" : "file.png"; private bool _isSelected; public bool IsSelected { get => _isSelected; set { _isSelected = value; OnPropertyChanged(); } } // Событие из INotifyPropertyChanged public event PropertyChangedEventHandler? PropertyChanged; // Защищённый метод для вызова события protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }