ButtonBase.ClickMode Property

Gets or sets when the Click event occurs.

Namespace:  System.Windows.Controls.Primitives
Assembly:  System.Windows (in System.Windows.dll)

public ClickMode ClickMode { get; set; }
<button ClickMode="clickModeValue"/>

XAML Values


A named constant of the ClickMode enumeration, such as Hover.

Property Value

Type: System.Windows.Controls.ClickMode
When the Click event occurs. The default value is ClickMode.Release.

Dependency property identifier field: ClickModeProperty

Use this property to set what type of user interaction is required to raise a Click event. When a button's click mode is Hover, the Click event cannot be raised by using the keyboard.

The following example shows three buttons that respond to clicks in three different ways based on their ClickMode property value.

  • Hover - When the mouse pointer hovers over the first button, the foreground color of the button changes.

  • Press - When the left mouse button is pressed while over the second button, the foreground color of the button changes.

  • Release - When the mouse button is pressed and released while over the third button, the button resets the foreground color of the other two buttons to their original color.

void OnClick1(object sender, RoutedEventArgs e)
    btn1.Foreground = new SolidColorBrush(Colors.Blue);
    text1.Text = "Click event handled on Hover.";
    text2.Text = "";
    text3.Text = "";

void OnClick2(object sender, RoutedEventArgs e)
    btn2.Foreground = new SolidColorBrush(Colors.Green);
    text1.Text = "";
    text2.Text = "Click event handled on Press.";
    text3.Text = "";

void OnClick3(object sender, RoutedEventArgs e)
    btn1.Foreground = new SolidColorBrush(Colors.Green);
    btn2.Foreground = new SolidColorBrush(Colors.Blue);
    text1.Text = "";
    text2.Text = "";
    text3.Text = "Click event handled on Release.";

    <StackPanel x:Name="LayoutRoot" Background="White" Margin="10">
          <Button x:Name="btn1" Margin ="5" 
		    Foreground="Green" Width="120" Click="OnClick1" 
		    Content="Hover to Click" ClickMode="Hover" />
        <TextBlock x:Name="text1" Margin ="0,8,0,0" />
        <Button x:Name="btn2" Margin ="5,5,5,5" 
		    Foreground="Blue" Width="120" Click="OnClick2" 
		    Content="Press to Click" ClickMode="Press" />
        <TextBlock x:Name="text2" Margin="0,8,0,0" />
        <Button x:Name="btn3" Margin ="5,5,5,5" 
		    Click="OnClick3" Width="120" Content="Reset" 
        <TextBlock x:Name="text3" Margin ="0,8,0,0" />


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions