namespace RecipeModule.ViewModels; public partial class GeneralRecipeVM(IDialogService dialogService) : ObservableObject, IActiveAware { protected IDialogService dialogService = dialogService; event EventHandler IActiveAware.IsActiveChanged { add { } remove { } } private bool _IsActive; public bool IsActive { get { return _IsActive; } set { _IsActive = value; if (value) this.OnActive(); } } protected virtual void OnActive() { } [ObservableProperty] private ObservableCollection? _Directories; [ObservableProperty] private RecipeDirectory? _SelectedRecipeDirectory; [ObservableProperty] private ObservableCollection? _Recipes; [ObservableProperty] private RecipeInfo? _SelectedRecipeInfo; [ObservableProperty] private string? _Title; [RelayCommand] private void DirOperate() { } [RelayCommand] private void RecipeOperate(RecipeOpreateEnum recipeOpreateEnum) { Commands(recipeOpreateEnum); } protected virtual void Commands(RecipeOpreateEnum recipeOpreateEnum) { switch (recipeOpreateEnum) { case RecipeOpreateEnum.New: break; case RecipeOpreateEnum.Delete: break; case RecipeOpreateEnum.Edit: dialogService.Show("RecipeEdit"); break; case RecipeOpreateEnum.Rename: break; case RecipeOpreateEnum.Copy: break; case RecipeOpreateEnum.View: break; case RecipeOpreateEnum.Export: break; case RecipeOpreateEnum.Change: break; case RecipeOpreateEnum.History: break; default: break; } } } public enum RecipeOpreateEnum { New, Delete, Edit, Rename, Copy, View, Export, Change, History }