示例#1
0
 public virtual void AddTab(ITab tab)
 {
     if (!tabs.Contains(tab))
     {
         tabs.Add(tab);
         OnTabAdded?.Invoke(tab);
     }
 }
示例#2
0
 private async Task AddTabAsync(XTab tab)
 {
     _tabContent.Add(tab);
     if (_tabContent.Count == 1 || NewTabSetActive)
     {
         await SetActiveAsync(tab);
     }
     if (OnTabAdded.HasDelegate)
     {
         await OnTabAdded.InvokeAsync(tab);
     }
 }
示例#3
0
 public async Task AddPageAsync(XTab tab)
 {
     ///TODO: Using Titles for now. Probably should use an ID.
     if (RenderMode == RenderMode.Full && _tabContent.FirstOrDefault(x => x.Title == tab.Title) is XTab existingTab)
     {
         await SetActiveAsync(existingTab);
     }
     else
     {
         _tabContent.Add(tab);
         if (_tabContent.Count == 1 || NewTabSetActive)
         {
             await SetActiveAsync(tab);
         }
         if (OnTabAdded.HasDelegate)
         {
             await OnTabAdded.InvokeAsync(tab);
         }
     }
     await NotifyStateHasChangedAsync();
 }