Skip to main content
.NET Framework Class Library
ControlPreviewMouseDoubleClick Event

Occurs when a user clicks the mouse button two or more times.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Syntax
Public Event PreviewMouseDoubleClick As [%$TOPIC/ms597617_en-us_VS_110_1_0_0_0_0%]
public event [%$TOPIC/ms597617_en-us_VS_110_1_0_1_0_0%] PreviewMouseDoubleClick
public:
 event [%$TOPIC/ms597617_en-us_VS_110_1_0_2_0_0%]^ PreviewMouseDoubleClick {
	void add ([%$TOPIC/ms597617_en-us_VS_110_1_0_2_0_1%]^ value);
	void remove ([%$TOPIC/ms597617_en-us_VS_110_1_0_2_0_2%]^ value);
}
member PreviewMouseDoubleClick : IEvent<[%$TOPIC/ms597617_en-us_VS_110_1_0_3_0_0%],
    [%$TOPIC/ms597617_en-us_VS_110_1_0_3_0_1%]>
<object PreviewMouseDoubleClick="[%$TOPIC/ms597617_en-us_VS_110_1_0_4_0_0%]" .../>
Remarks

Although this routed event seems to follow a tunneling route through an element tree, it actually is a direct routed event that is raised along the element tree by each UIElement. If you set the Handled property to true in a PreviewMouseDoubleClick event handler, subsequent PreviewMouseDoubleClick events along the route will occur with Handled set to false, but the MouseDoubleClick event will occur with Handled set to true. This is a higher-level event for control consumers who want to be notified when the user double-clicks the control and to handle the event in an application.

Control authors who want to handle mouse double clicks should use the PreviewMouseLeftButtonDown event when ClickCount is equal to two. This will cause the state of Handled to propagate appropriately in the case where another element in the element tree handles the event.

The Control class defines the PreviewMouseDoubleClick and MouseDoubleClick events, but not corresponding single-click events. To see if the user has clicked the control once, handle the MouseDown event (or one of its counterparts) and check whether the ClickCount property value is 1.

Examples

The following example shows how to attach an event handler the PreviewMouseDoubleClick event.

<Button Name="btn1" Foreground="Black" 
        PreviewMouseDoubleClick="ChangeForeground">
  Foreground
</Button>

The following example shows the event handler of the PreviewMouseDoubleClick event.

Private Sub ChangeForeground(ByVal Sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)

    If (btn1.Foreground Is Brushes.Green) Then
        btn1.Foreground = Brushes.Black
        btn1.Content = "Foreground" 
    Else
        btn1.Foreground = Brushes.Green
        btn1.Content = "Control foreground(text) changes from black to green." 
    End If 

End Sub
void ChangeForeground(object sender, RoutedEventArgs e)
{
    if (btn1.Foreground == Brushes.Green)
    {
        btn1.Foreground = Brushes.Black;
        btn1.Content = "Foreground";
    }
    else
    {
        btn1.Foreground = Brushes.Green;
        btn1.Content = "Control foreground(text) changes from black to green.";
    }
}
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.