diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageLayout.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageLayout.cs index 618445bd83..3edbb9dc45 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageLayout.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageLayout.cs @@ -1,5 +1,6 @@ using System.Collections.ObjectModel; using System.ComponentModel; +using System.Runtime.CompilerServices; using Volo.Abp.AspNetCore.Components.Web.Theming.PageToolbars; using Volo.Abp.BlazoriseUI; using Volo.Abp.DependencyInjection; @@ -11,19 +12,32 @@ public class PageLayout : IScopedDependency, INotifyPropertyChanged private string title; // TODO: Consider using this property for setting Page Title too. - public virtual string Title - { + public virtual string Title { get => title; - set - { + set { title = value; - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Title))); + OnPropertyChanged(); } } + private string menuItemName; + + public string MenuItemName { + get => menuItemName; + set { + menuItemName = value; + OnPropertyChanged(); + } + } + public virtual ObservableCollection BreadcrumbItems { get; set; } = new(); public virtual ObservableCollection ToolbarItems { get; set; } = new(); public event PropertyChangedEventHandler PropertyChanged; + + protected void OnPropertyChanged([CallerMemberName]string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } } \ No newline at end of file