/// <summary> /// Sets the action. /// </summary> /// <param name="message">The message.</param> protected void SetAction(BulbMessage message) { message.OnShow(this.Hide); this._action = message.Action; this.ActionView = message.View; this.NotifyOfPropertyChange(nameof(this.HasAction)); }
/// <summary> /// Sets the action. /// </summary> /// <param name="message">The message.</param> protected override void SetAction(BulbMessage message) { if (this._updateRequired) { return; } base.SetAction(message); }
/// <summary> /// Sets the action. /// </summary> /// <param name="message">The message.</param> protected void SetAction(BulbMessage message) { message.OnShow?.Invoke(this.Hide); this._previousAction = this._action; this._previousActionView = this._actionView; this._action = message.Action; this.ActionView = message.View; this.NotifyOfPropertyChange(nameof(this.HasAction)); if (message.DisplayTime != TimeSpan.Zero) { Task.Run(async() => await Task.Delay(message.DisplayTime)).ContinueWith((t) => this.Hide()); } }
/// <summary> /// Sets the action. /// </summary> /// <param name="message">The message.</param> protected virtual void SetAction(BulbMessage message) { if (this._tokenSource != null) { this._tokenSource.Cancel(); this._tokenSource.Dispose(); this._tokenSource = null; } message.OnShow?.Invoke(this.Hide); if (message.Sticky) { this._stickyAction = this.Action; this._stickyActionView = this._actionView; } var disposableView = this.ActionView as IDisposable; if (disposableView != null) { disposableView.Dispose(); } this.Action = message.Action; this.ActionView = message.View; this.NotifyOfPropertyChange(nameof(this.HasAction)); if (message.DisplayTime != TimeSpan.Zero) { this._tokenSource = new CancellationTokenSource(); var token = this._tokenSource.Token; Task.Run(async() => await Task.Delay(message.DisplayTime)).ContinueWith((t) => { if (token.IsCancellationRequested) { return; } this.Hide(); }); } }