protected virtual void OnElementChanged(ElementChangedEventArgs <TElement> e) { var args = new VisualElementChangedEventArgs(e.OldElement, e.NewElement); for (var i = 0; i < _elementChangedHandlers.Count; i++) { _elementChangedHandlers[i](this, args); } ElementChanged?.Invoke(this, e); }
async void OnElementChanged(ElementChangedEventArgs <Image> e) { await TryUpdateBitmap(e.OldElement); UpdateAspect(); this.EnsureId(); ElevationHelper.SetElevation(this, e.NewElement); ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
protected virtual void OnElementChanged(ElementChangedEventArgs <TElement> e) { var args = new VisualElementChangedEventArgs(e.OldElement, e.NewElement); foreach (EventHandler <VisualElementChangedEventArgs> handler in _elementChangedHandlers) { handler(this, args); } ElementChanged?.Invoke(this, e); }
public void SetElement(VisualElement element) { if (Element != null) { throw new NotSupportedException("Reuse of the Shell Renderer is not supported"); } Element = element; OnElementSet((Shell)Element); ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(null, Element)); }
void OnElementChanged(ItemsView oldElement, ItemsView newElement) { TearDownOldElement(oldElement); SetUpNewElement(newElement); ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(oldElement, newElement)); EffectUtilities.RegisterEffectControlProvider(this, oldElement, newElement); UpdateBackgroundColor(); UpdateFlowDirection(); }
void OnElementChanged(ElementChangedEventArgs <CheckBox> e) { if (e.NewElement != null && !_disposed) { this.EnsureId(); UpdateOnColor(); UpdateIsChecked(); UpdateBackgroundColor(); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
/// <summary> /// Notification that the associated element has changed. /// </summary> /// <param name="e">Event parameters.</param> protected virtual void OnElementChanged(ElementChangedEventArgs <TElement> e) { if (null != e.OldElement) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; e.OldElement.BatchCommitted -= OnBatchCommitted; e.OldElement.ChildAdded -= OnChildAdded; e.OldElement.ChildRemoved -= OnChildRemoved; e.OldElement.ChildrenReordered -= OnChildrenReordered; e.OldElement.FocusChangeRequested -= OnFocusChangeRequested; var controller = e.OldElement as IElementController; if (controller != null && controller.EffectControlProvider == this) { controller.EffectControlProvider = null; } } var args = new VisualElementChangedEventArgs(e.OldElement, e.NewElement); for (var i = 0; i < _elementChangedHandlers.Count; i++) { _elementChangedHandlers[i](this, args); } ElementChanged?.Invoke(this, e); if (null != e.NewElement) { e.NewElement.PropertyChanged += OnElementPropertyChanged; e.NewElement.BatchCommitted += OnBatchCommitted; e.NewElement.ChildAdded += OnChildAdded; e.NewElement.ChildRemoved += OnChildRemoved; e.NewElement.ChildrenReordered += OnChildrenReordered; e.NewElement.FocusChangeRequested += OnFocusChangeRequested; (NativeView as IBatchable)?.BatchBegin(); UpdateAllProperties(true); (NativeView as IBatchable)?.BatchCommit(); var controller = e.NewElement as IElementController; if (controller != null) { controller.EffectControlProvider = this; } } }
/// <summary> /// Indexer for matrix. /// </summary> /// <param name="row">The row index.</param> /// <param name="column">The column index.</param> /// <returns>The value of given matrix cell.</returns> public virtual T this[int row, int column] { get { CheckIndexes(row, column); return(GetValue(row, column)); } set { CheckIndexes(row, column); SetValue(row, column, value); ElementChanged?.Invoke(this, new MatrixEventArgs(row, column)); } }
protected virtual void OnElementChanged(VisualElementChangedEventArgs e) { if (e.OldElement != null) { e.OldElement.PropertyChanged -= HandlePropertyChanged; } if (e.NewElement != null) { e.NewElement.PropertyChanged += HandlePropertyChanged; } ElementChanged?.Invoke(this, e); }
void RaiseElementChanged(VisualElementChangedEventArgs e) { if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; } if (e.NewElement != null) { e.NewElement.PropertyChanged += OnElementPropertyChanged; } OnElementChanged(e); ElementChanged?.Invoke(this, e); }
protected virtual void OnElementChanged(ElementChangedEventArgs <Button> e) { if (e.NewElement != null) { UpdateFont(); UpdateText(); UpdateBitmap(); UpdateTextColor(); UpdateIsEnabled(); UpdateInputTransparent(); UpdateBackgroundColor(); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
protected virtual void OnElementChanged(ElementChangedEventArgs <BasePopup?> e) { if (e.NewElement != null && !isDisposed && Element is BasePopup basePopup) { SetEvents(basePopup); SetColor(basePopup); SetSize(basePopup); SetAnchor(basePopup); SetLightDismiss(basePopup); Show(); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
/// <summary> /// Provides access to the matrix fields. /// </summary> /// <param name="row"> Row number.</param> /// <param name="column">Column number.</param> /// <returns> /// A field with given indices. /// </returns> public T this[int row, int column] { get { VerifyPosition(row, column); return(GetValue(row, column)); } set { VerifyPosition(row, column); var eventArgs = new ElementChangesEventArgs <T>(GetValue(row, column), value, row, column); SetValue(value, row, column); ElementChanged?.Invoke(this, eventArgs); } }
protected virtual void OnElementChanged(ElementChangedEventArgs <MediaElement> e) { if (e.NewElement != null) { this.EnsureId(); UpdateKeepScreenOn(); UpdateLayoutParameters(); UpdateShowPlaybackControls(); UpdateSource(); UpdateBackgroundColor(); ElevationHelper.SetElevation(this, e.NewElement); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
protected virtual void OnElementChanged(ElementChangedEventArgs <TElement> e) { var args = new VisualElementChangedEventArgs(e.OldElement, e.NewElement); for (var i = 0; i < _elementChangedHandlers.Count; i++) { _elementChangedHandlers[i](this, args); } ElementChanged?.Invoke(this, e); #if __MOBILE__ if (e.NewElement != null) { SetBlur((BlurEffectStyle)e.NewElement.GetValue(PlatformConfiguration.iOSSpecific.VisualElement.BlurEffectProperty)); } #endif }
protected virtual void OnElementChanged(ElementChangedEventArgs <TElement> e) { var args = new VisualElementChangedEventArgs(e.OldElement, e.NewElement); // The list of event handlers can be changed inside the handlers. (ex.: are used CompressedLayout) // To avoid an exception, a copy of the handlers is called. var handlers = _elementChangedHandlers.ToArray(); foreach (var handler in handlers) { handler(this, args); } ElementChanged?.Invoke(this, e); ElevationHelper.SetElevation(this, e.NewElement); }
public void SetElement(VisualElement element) { var oldElement = Element; if (oldElement != null) { oldElement.PropertyChanged -= OnElementPropertyChanged; } if (Element != null) { Element.PropertyChanged += OnElementPropertyChanged; } Element = element; ViewHandler.SetVirtualView((IView)element); ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(oldElement, Element)); }
protected virtual void OnElementChanged(ElementChangedEventArgs <Label> e) { ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; this.MaybeRequestLayout(); } if (e.NewElement != null) { this.EnsureId(); if (_visualElementTracker == null) { _visualElementTracker = new VisualElementTracker(this); } e.NewElement.PropertyChanged += OnElementPropertyChanged; SkipNextInvalidate(); UpdateText(); UpdateLineHeight(); UpdateCharacterSpacing(); UpdateTextDecorations(); if (e.OldElement?.LineBreakMode != e.NewElement.LineBreakMode) { UpdateLineBreakMode(); } if (e.OldElement?.HorizontalTextAlignment != e.NewElement.HorizontalTextAlignment || e.OldElement?.VerticalTextAlignment != e.NewElement.VerticalTextAlignment) { UpdateGravity(); } if (e.OldElement?.MaxLines != e.NewElement.MaxLines) { UpdateMaxLines(); } UpdatePadding(); ElevationHelper.SetElevation(this, e.NewElement); } }
void OnElementChanged(ElementChangedEventArgs <Button> e) { if (e.NewElement != null && !_isDisposed) { this.EnsureId(); UpdateFont(); UpdateText(); UpdateBitmap(); UpdateTextColor(); UpdateIsEnabled(); UpdateInputTransparent(); UpdateBackgroundColor(); ElevationHelper.SetElevation(this, e.NewElement); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
protected virtual void OnElementChanged(ElementChangedEventArgs <BasePopup?> e) { if (e.NewElement != null && !isDisposed) { ModalInPopover = true; ModalPresentationStyle = UIModalPresentationStyle.Popover; SetViewController(); SetPresentationController(); SetEvents(); SetSize(); SetLayout(); SetBackgroundColor(); SetView(); AddToCurrentPageViewController(); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
public void HandleBpmnElementEvent(BpmnElementEvent e) { TranslateProcessId(e); switch (e.Type) { case BpmnConstants.BPMN_EVENT_CLICK: ElementClick?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_ELEMENT_CHANGED: ElementChanged?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_SHAPE_ADDED: ShapeAdded?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_SHAPE_REMOVED: ShapeRemoved?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_UPDATE_ID: ElementIdUpdated?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_CONNECTION_REMOVED: ConnectionRemoved?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_CONNECTION_ADDED: ConnectionAdded?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_ROOT_ADDED: RootAdded?.Invoke(this, e); break; case BpmnConstants.BPMN_EVENT_ROOT_REMOVED: RootRemoved?.Invoke(this, e); break; } }
protected virtual void OnElementChanged(ElementChangedEventArgs <RadioButton> e) { if (e.NewElement != null && !_isDisposed) { this.EnsureId(); _textColorSwitcher = new Lazy <TextColorSwitcher>( () => new TextColorSwitcher(TextColors, e.NewElement.UseLegacyColorManagement())); UpdateFont(); UpdateTextColor(); UpdateInputTransparent(); UpdateBackgroundColor(); UpdateIsChecked(); UpdateContent(); ElevationHelper.SetElevation(this, e.NewElement); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
private void OnElementChanged(ElementChangedEventArgs <TestLabelControl> e) { ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; } if (e.NewElement != null) { this.EnsureId(); if (visualElementTracker == null) { visualElementTracker = new VisualElementTracker(this); } CreateNative(); e.NewElement.PropertyChanged += OnElementPropertyChanged; } }
public void HandleBpmnElementEvent(BpmnElementEvent e) { switch (e.Type) { case "element.click": ElementClick?.Invoke(this, e); break; case "element.changed": ElementChanged?.Invoke(this, e); break; case "shape.added": ShapeAdded?.Invoke(this, e); break; case "shape.removed": ShapeRemoved?.Invoke(this, e); break; case "element.updateId": ElementIdUpdated?.Invoke(this, e); break; case "connection.removed": ConnectionRemoved?.Invoke(this, e); break; case "connection.added": ConnectionAdded?.Invoke(this, e); break; case "root.added": RootAdded?.Invoke(this, e); break; case "root.removed": RootRemoved?.Invoke(this, e); break; } }
protected virtual void OnElementChanged(VisualElementChangedEventArgs e) { if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; } if (e.NewElement != null) { if (Control == null) { Control = new Controls.Page(); Add(Control); } e.NewElement.PropertyChanged += OnElementPropertyChanged; } UpdateBackgroundImage(); ElementChanged?.Invoke(this, e); }
protected virtual void OnElementChanged(ElementChangedEventArgs <Button> e) { if (e.OldElement != null) { _backgroundTracker?.Reset(); } if (e.NewElement != null && !_isDisposed) { this.EnsureId(); UpdateFont(); UpdateText(); UpdateBitmap(); UpdateTextColor(); UpdateIsEnabled(); UpdateInputTransparent(); UpdateBackgroundColor(); UpdateDrawable(); } ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); }
protected override void UpdateElement(Input oldElement, Context oldContext) { var childContext = child.Context; if (oldContext != Context) { if (Context.Layer != oldContext.Layer) { layer.Dispose(); layer = Context.Layer.AddChild(this); } childContext = new Context(Context, Layer); } child = child.UpdateElement(Element.Child, childContext); if (oldElement != Element) { ElementChanged?.Invoke(this, EventArgs.Empty); } }
public void SetElement(VisualElement element) { CarouselScrollView oldElement = _view; _view = (CarouselScrollView)element; if (oldElement != null) { ((IScrollViewController)oldElement).ScrollToRequested -= OnScrollToRequested; } if (element != null) { ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(oldElement, element)); if (_container == null) { Tracker = new VisualElementTracker(this); _container = new CustomScrollViewContainer(_view, Context); } Controller.ScrollToRequested += OnScrollToRequested; LoadContent(); UpdateBackgroundColor(); UpdateOrientation(); UpdateIsEnabled(); UpdateHorizontalScrollBarVisibility(); UpdateVerticalScrollBarVisibility(); UpdateFlowDirection(); if (!string.IsNullOrEmpty(element.AutomationId)) { ContentDescription = element.AutomationId; } } }
void OnElementChanged(ElementChangedEventArgs <Label> e) { ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; } if (e.NewElement != null) { this.EnsureId(); if (_visualElementTracker == null) { _visualElementTracker = new VisualElementTracker(this); } e.NewElement.PropertyChanged += OnElementPropertyChanged; SkipNextInvalidate(); UpdateText(); UpdateLineHeight(); if (e.OldElement?.LineBreakMode != e.NewElement.LineBreakMode) { UpdateLineBreakMode(); } if (e.OldElement?.HorizontalTextAlignment != e.NewElement.HorizontalTextAlignment || e.OldElement?.VerticalTextAlignment != e.NewElement.VerticalTextAlignment) { UpdateGravity(); } ElevationHelper.SetElevation(this, e.NewElement); } }
protected virtual void OnElementChanged(ElementChangedEventArgs <Frame> e) { ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); if (e.OldElement != null) { e.OldElement.PropertyChanged -= OnElementPropertyChanged; } if (e.NewElement != null) { if (_visualElementTracker == null) { _visualElementTracker = new VisualElementTracker(this); _visualElementPackager = new VisualElementPackager(this); _visualElementPackager.Load(); } e.NewElement.PropertyChanged += OnElementPropertyChanged; UpdateShadow(); UpdateBackgroundColor(); UpdateCornerRadius(); } }