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)