2 types derived from BaseShellItem
Microsoft.Maui.Controls (2)
Shell\ShellContent.cs (1)
15 public class ShellContent : BaseShellItem, IShellContentController, IVisualTreeElement
Shell\ShellGroupItem.cs (1)
7 public class ShellGroupItem : BaseShellItem
94 references to BaseShellItem
Microsoft.Maui.Controls (85)
Internals\PropertyPropagationExtensions.cs (3)
21 BaseShellItem.PropagateFromParent(Shell.NavBarHasShadowProperty, element); 24 BaseShellItem.PropagateFromParent(Shell.TabBarIsVisibleProperty, element); 27 BaseShellItem.PropagateFromParent(Shell.NavBarIsVisibleProperty, element);
Page\Page.cs (3)
465 if (RealParent is BaseShellItem || RealParent is Shell) 545 /// <exception cref="InvalidOperationException">Thrown when the page's <see cref="Element.RealParent"/> can't be casted to <see cref="Page"/> or <see cref="BaseShellItem"/>.</exception> 548 if (!Application.IsApplicationOrWindowOrNull(RealParent) && !(RealParent is Page) && !(RealParent is BaseShellItem))
Shell\BaseShellItem.cs (18)
31 internal static readonly BindablePropertyKey IsCheckedPropertyKey = BindableProperty.CreateReadOnly(nameof(IsChecked), typeof(bool), typeof(BaseShellItem), false); 37 BindableProperty.Create(nameof(FlyoutIcon), typeof(ImageSource), typeof(BaseShellItem), null, BindingMode.OneTime); 41 BindableProperty.Create(nameof(Icon), typeof(ImageSource), typeof(BaseShellItem), null, BindingMode.OneWay, 49 BindableProperty.Create(nameof(IsEnabled), typeof(bool), typeof(BaseShellItem), true, BindingMode.OneWay); 53 BindableProperty.Create(nameof(Title), typeof(string), typeof(BaseShellItem), null, BindingMode.TwoWay, propertyChanged: OnTitlePropertyChanged); 57 BindableProperty.Create(nameof(IsVisible), typeof(bool), typeof(BaseShellItem), true); 61 BindableProperty.Create(nameof(FlyoutItemIsVisible), typeof(bool), typeof(BaseShellItem), true, propertyChanged: OnFlyoutItemIsVisibleChanged); 218 var shellItem = (BaseShellItem)bindable; 228 var shellItem = (BaseShellItem)bindable; 296 nameof(Window), typeof(Window), typeof(BaseShellItem), null); 342 var parent = (BaseShellItem)Parent; 450 imageBinding = Binding.Create(static (BaseShellItem item) => item.FlyoutIcon); 451 labelBinding = Binding.Create(static (BaseShellItem item) => item.Title); 542 if (g.BindingContext is BaseShellItem bsi) 550 g.SetBinding(SemanticProperties.DescriptionProperty, static (BaseShellItem item) => item.Title);
Shell\RouteRequestBuilder.cs (2)
76 bool AddNode(BaseShellItem baseShellItem, string nextSegment) 89 string GetUserSegment(BaseShellItem baseShellItem)
Shell\Shell.cs (6)
74 ?? (bindable as BaseShellItem)?.FindParentOfType<Shell>() 125 if (bindable is BaseShellItem baseShellItem && baseShellItem.FlyoutItemIsVisible != (bool)newValue) 662 return BaseShellItem.CreateDefaultFlyoutItemCell(bo); 1244 bool IsValidRoute(BaseShellItem baseShellItem) 1684 if (root is BaseShellItem baseItem) 1688 baseItem.SetValue(BaseShellItem.IsCheckedPropertyKey, isChecked);
Shell\ShellContentCollection.cs (1)
16 protected override bool IsShellElementVisible(BaseShellItem item)
Shell\ShellElementCollection.cs (30)
14 IList<BaseShellItem>, 74 public IReadOnlyCollection<BaseShellItem> VisibleItemsReadOnly 102 public BaseShellItem this[int index] 104 get => (BaseShellItem)Inner[index]; 110 var list = Inner.Cast<BaseShellItem>().ToList(); 125 public virtual void Add(BaseShellItem item) => Inner.Add(item); 127 public virtual bool Contains(BaseShellItem item) => Inner.Contains(item); 129 public virtual void CopyTo(BaseShellItem[] array, int arrayIndex) => Inner.CopyTo(array, arrayIndex); 131 public abstract IEnumerator<BaseShellItem> GetEnumerator(); 133 public virtual int IndexOf(BaseShellItem item) => Inner.IndexOf(item); 135 public virtual void Insert(int index, BaseShellItem item) => Inner.Insert(index, item); 137 public abstract bool Remove(BaseShellItem item); 149 foreach (BaseShellItem element in e.NewItems) 168 foreach (BaseShellItem element in items) 178 protected void CheckVisibility(BaseShellItem element) 208 bool IsBaseShellItemVisible(BaseShellItem item) 223 protected virtual bool IsShellElementVisible(BaseShellItem item) 236 if (controller is BaseShellItem bsi) 247 if (controller is BaseShellItem bsi) 253 if (e.PropertyName == nameof(BaseShellItem.IsVisible)) 254 CheckVisibility((BaseShellItem)sender); 259 foreach (BaseShellItem bsi in (e.NewItems ?? e.OldItems ?? Inner)) 264 CheckVisibility(bsi.Parent as BaseShellItem); 269 var baseShellItem = (BaseShellItem)s; 271 CheckVisibility(baseShellItem.Parent as BaseShellItem); 280 where TBaseShellItem : BaseShellItem 328 public override IEnumerator<BaseShellItem> GetEnumerator() 330 return Inner.Cast<BaseShellItem>().GetEnumerator(); 333 public override bool Remove(BaseShellItem item)
Shell\ShellExtensions.cs (13)
10 public static T SearchForRoute<T>(this Shell shell, string route) where T : BaseShellItem => 13 public static BaseShellItem SearchForRoute(this Shell shell, string route) => 17 public static T SearchForRoute<T>(this BaseShellItem shell, string route) where T : BaseShellItem => 20 public static BaseShellItem SearchForRoute(this BaseShellItem shell, string route) => 24 public static BaseShellItem SearchForPart(this IShellController shell, Func<BaseShellItem, bool> searchBy) 29 var result = SearchForPart(items[i], searchBy); 37 public static BaseShellItem SearchForPart(this BaseShellItem part, Func<BaseShellItem, bool> searchBy) 42 BaseShellItem baseShellItem = null;
Shell\ShellItem.cs (3)
32 public static readonly new BindableProperty IsVisibleProperty = BaseShellItem.IsVisibleProperty; 282 if (oldValue is BaseShellItem oldShellItem) 292 if (newValue is BaseShellItem newShellItem)
Shell\ShellNavigationManager.cs (3)
258 BaseShellItem baseShellItem = _shell.CurrentItem?.CurrentItem?.CurrentItem; 304 if (!(element is BaseShellItem baseShellItem)) 305 baseShellItem = element?.Parent as BaseShellItem;
Shell\ShellSection.cs (3)
296 shellSection.SetBinding(TitleProperty, static (BaseShellItem item) => item.Title, BindingMode.OneWay, source: shellContent); 297 shellSection.SetBinding(IconProperty, static (BaseShellItem item) => item.Icon, BindingMode.OneWay, source: shellContent); 298 shellSection.SetBinding(FlyoutIconProperty, static (BaseShellItem item) => item.FlyoutIcon, BindingMode.OneWay, source: shellContent);
Microsoft.Maui.Controls.Compatibility (9)
iOS\Renderers\PageRenderer.cs (3)
30 bool IsPartOfShell => (Element?.Parent is BaseShellItem); 133 if (Element.Parent is BaseShellItem) 208 _tracker = new VisualElementTracker(this, !(Element.Parent is BaseShellItem));
iOS\Renderers\TabbedRenderer.cs (1)
137 if (Element.Parent is BaseShellItem)
iOS\Renderers\UIContainerCell.cs (5)
63 if (_bindingContext != null && _bindingContext is BaseShellItem baseShell) 88 if (_bindingContext != null && _bindingContext is BaseShellItem baseShell) 94 if (_bindingContext != null && _bindingContext is BaseShellItem baseShell2) 111 if (BindingContext is BaseShellItem baseShellItem && baseShellItem != null) 122 if (e.PropertyName == BaseShellItem.IsCheckedProperty.PropertyName)