public ShellFlyoutHeaderHandler(NativeComponentRenderer renderer, DummyElement shellFlyoutHeaderDummyControl) { Renderer = renderer ?? throw new ArgumentNullException(nameof(renderer)); ShellFlyoutHeaderDummyControl = shellFlyoutHeaderDummyControl ?? throw new ArgumentNullException(nameof(shellFlyoutHeaderDummyControl)); _parentChildManager = new ParentChildManager <XF.Shell, XF.View>(SetShellFlyoutHeader); }
private void ShowDialogIfPossible(ParentChildManager <XF.NavigableElement, XF.Page> parentChildManager) { if (_parentChildManager.Parent != null && _parentChildManager.Child != null) { _parentChildManager.Parent.Navigation.PushModalAsync(_parentChildManager.Child); } }
public GridCellHandler(NativeComponentRenderer renderer, GridCellPlaceholderElement gridCellPlaceholderElementControl) { Renderer = renderer ?? throw new ArgumentNullException(nameof(renderer)); GridCellPlaceholderElementControl = gridCellPlaceholderElementControl ?? throw new ArgumentNullException(nameof(gridCellPlaceholderElementControl)); _parentChildManager = new ParentChildManager <XF.Grid, XF.View>(AddChildViewToParentGrid); }
public ModalContainerHandler(NativeComponentRenderer renderer, DummyElement modalContainerDummyControl) { Renderer = renderer ?? throw new ArgumentNullException(nameof(renderer)); ModalContainerPlaceholderElementControl = modalContainerDummyControl ?? throw new ArgumentNullException(nameof(modalContainerDummyControl)); _parentChildManager = new ParentChildManager <XF.NavigableElement, XF.Page>(ShowDialogIfPossible); _parentChildManager.ChildChanged += OnParentChildManagerChildChanged; }
private void SetShellFlyoutHeader(ParentChildManager <XF.Shell, XF.View> parentChildManager) { // See comment in ShellHandler..ctor. We can't re-set the FlyoutHeader itself, so we have // an intermediate ContentView and adjust its contents. var flyoutHeaderContentView = (XF.ContentView)parentChildManager.Parent.FlyoutHeader; flyoutHeaderContentView.IsVisible = true; flyoutHeaderContentView.Content = parentChildManager.Child; }
private void AddChildViewToParentGrid(ParentChildManager <XF.Grid, XF.View> parentChildManager) { parentChildManager.Parent.Children.Add( view: parentChildManager.Child, left: (Column ?? 0), right: (Column ?? 0) + (ColumnSpan ?? 1), top: (Row ?? 0), bottom: (Row ?? 0) + (RowSpan ?? 1)); }