HypernovaDesktop Components · docs
Binarymission
WPFBubble Control › BubbleControl

BubbleControl

class.NET 6 / 8 / 10.NET Framework 4.8Binarymission.WPF.Controls.CommandVisuals

A WPF custom control that can be used to provide an exotic visual action response indicator/cue for any user action on the application user-interface, just like what we see in other popular mobile OSs like Android, etc.

public class BubbleControl : ContentControl

Inherits from / implements: ContentControl

Remarks

You can use this control to host any other .NET UI element in it, and be able to provide visual feedback to any user action on it (mouse click, etc.), by letting the control render a animated wave / bubble-like UI visual as feedback.

We have all seen this kind of feature in various Presentation/screen-casting software where, when you click on a element on the screen, we get the visual feedback of where we had clicked, by the software rendering a circular swirls at the point of mouse-clicks.

Well! Now with our ExoticBubble .NET control, you too can have that feature (and much, much more) in your very own WPF applications.

Members at a glance

BubbleChildLayerBrushGets or sets the bubble child layer brush.
BubbleExpansionFactorGets or sets the bubble expansion factor.
BubbleInnerLayerBrushGets or sets the bubble inner layer brush.
BubbleInvocationEventsGets or sets the bubble invocation events.
BubbleOuterLayerBrushGets or sets the bubble outer layer brush.
ShouldRunOnTopGets or sets a value indicating whether the bubble should run on top of the clicked content area (over the content area), or should it show the clicked content and show the bubble aspect underneath the clicked content.
OnApplyTemplateWhen overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate.
BubbleChildLayerBrushPropertyIdentifies the BubbleChildLayerBrush dependency property.
BubbleExpansionFactorPropertyIdentifies the BubbleExpansionFactor dependency property.
BubbleInnerLayerBrushPropertyIdentifies the BubbleInnerLayerBrush dependency property.
BubbleInvocationEventsPropertyIdentifies the BubbleInvocationEvents dependency property.
BubbleOuterLayerBrushPropertyIdentifies the BubbleOuterLayerBrush dependency property.
ShouldRunOnTopPropertyIdentifies the ShouldRunOnTop dependency property.

Properties

BubbleChildLayerBrush

public Brush BubbleChildLayerBrush

Gets or sets the bubble child layer brush.

BubbleExpansionFactor

public double BubbleExpansionFactor

Gets or sets the bubble expansion factor.

A value of 0 completely hides the bubble rendring. A higher value (in increments of 0.1, for example) starts to grow the rendering size of the bubble.

BubbleInnerLayerBrush

public Brush BubbleInnerLayerBrush

Gets or sets the bubble inner layer brush.

BubbleInvocationEvents

public ObservableCollection<RoutedEvent> BubbleInvocationEvents

Gets or sets the bubble invocation events.

With this property, you can add all desired routed events to which this bubble control instance should respond and activate itself.
For example, you can add the MouseRightButtonUpEvent to be used for invoking the ExoticBubble control's features.
Remember, the ExoticBubble control already provides (by default) invoking its services for the MouseLeftButtonDownEvent RoutedEvent. By setting additional routed-events (like MouseRightButtonUpEvent), we get the bubble control invoked in both these situations.

BubbleOuterLayerBrush

public Brush BubbleOuterLayerBrush

Gets or sets the bubble outer layer brush.

ShouldRunOnTop

public bool ShouldRunOnTop

Gets or sets a value indicating whether the bubble should run on top of the clicked content area (over the content area), or should it show the clicked content and show the bubble aspect underneath the clicked content.

Methods

OnApplyTemplate

public override void OnApplyTemplate()

When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate.

Fields

BubbleChildLayerBrushProperty

public static readonly DependencyProperty BubbleChildLayerBrushProperty

Identifies the BubbleChildLayerBrush dependency property.

BubbleExpansionFactorProperty

public static readonly DependencyProperty BubbleExpansionFactorProperty

Identifies the BubbleExpansionFactor dependency property.

BubbleInnerLayerBrushProperty

public static readonly DependencyProperty BubbleInnerLayerBrushProperty

Identifies the BubbleInnerLayerBrush dependency property.

BubbleInvocationEventsProperty

public static readonly DependencyProperty BubbleInvocationEventsProperty = DependencyProperty.Register("BubbleInvocationEvents", typeof(ObservableCollection<RoutedEvent>), typeof(BubbleControl), new PropertyMetadata( new ObservableCollection<RoutedEvent>

Identifies the BubbleInvocationEvents dependency property.

BubbleOuterLayerBrushProperty

public static readonly DependencyProperty BubbleOuterLayerBrushProperty

Identifies the BubbleOuterLayerBrush dependency property.

ShouldRunOnTopProperty

public static readonly DependencyProperty ShouldRunOnTopProperty

Identifies the ShouldRunOnTop dependency property.