using System; using System.Windows.Controls; using Prism.Events; namespace MaterialModernWPF.Service { public abstract class Package { private readonly IEventAggregator _eventAggregator; private bool _isSelected; protected Package(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; } public abstract string Name { get; } public bool IsSelected { get => _isSelected; set { if (_isSelected == value) return; _isSelected = value; _eventAggregator.GetEvent().Publish((this, value)); } } public abstract Type CalculationViewType { get; } } public class CalculationView : UserControl { } }