Aspect class for making elements clickable. Element you attach this Aspect to can be clicked with the mouse even though they're not "natively" clickable elements. When clicked you will be able to trap that event on the server through the Clicked of the DblClicked event. Both single clicks and double clicks are supported, you can choose which of the two (or both) you wish to trap for the widget you attach this aspect to.

Namespace:  Gaia.WebWidgets
Assembly:  Gaia.WebWidgets (in Gaia.WebWidgets.dll) Version: 3.6.0.0 (3.6.0.0)

Syntax

C#
public class AspectClickable : Aspect<AspectClickable>, 
	IAspect
Visual Basic (Declaration)
Public Class AspectClickable _
	Inherits Aspect(Of AspectClickable) _
	Implements IAspect

Examples

CopyASPX Markup for AspectClickable Example
<%@ Page Language="C#" MasterPageFile="~/Core.master" AutoEventWireup="true"
    Codebehind="Default.aspx.cs" Inherits="Gaia.WebWidgets.Samples.Aspects.AspectClickable.DoubleClick.Default"
    Title="Gaia Ajax: AspectClickable - DoubleClick Event" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h1>Gaia Ajax: AspectClickable - DoubleClick Event</h1>
<p>This demonstrates how to add AspectClickable to trap DoubleClick events for ANY Gaia
Ajax control. 
</p>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="p" runat="server">

<gaia:panel 
    id="zPanel" 
    runat="Server" 
    CssClass="panel">     
</gaia:panel>

</asp:Content>
CopyDouble Click Panel to Fade it Away
protected void Page_Load(object sender, EventArgs e)
{

    WebWidgets.AspectClickable aspectClickable =
           new WebWidgets.AspectClickable();

    aspectClickable.DblClicked +=
        delegate
        {
            zPanel.Effects.Add(new EffectHighlight());
        };

    zPanel.Aspects.Add(aspectClickable);

}
CopyClick Panel to Toggle CssClass
protected void Page_Load(object sender, EventArgs e)
{
    InitAspectClickable();
}

private void InitAspectClickable()
{
    WebWidgets.AspectClickable aspectClickable =
        new WebWidgets.AspectClickable();
    aspectClickable.Clicked += aspectClickable_Clicked;
    zPanel.Aspects.Add(aspectClickable);
}

void aspectClickable_Clicked(object sender, EventArgs e)
{
    // Toggle CssClass for Panel on Selection
    zPanel.CssClass = (zPanel.CssClass == "panel") ?
        "panel-selected" :
        "panel";
}
CopyOne Line Construction Of AspectClickable
protected void Page_Load(object sender, EventArgs e)
{
    // Shorthand for quickly adding Aspects with Event Handler
    zPanel.Aspects.Add(
        new WebWidgets.AspectClickable(
            delegate
            {
                zPanel.Effects.Add(new EffectHighlight());
            }));
}

Inheritance Hierarchy

System..::.Object
  Gaia.WebWidgets..::.Aspect
    Gaia.WebWidgets..::.Aspect<(Of <(AspectClickable>)>)
      Gaia.WebWidgets..::.AspectClickable

See Also