Control.PreviewMouseDoubleClick イベント

定義

ユーザーがマウス ボタンを 2 回以上クリックしたときに発生します。Occurs when a user clicks the mouse button two or more times.

public:
 event System::Windows::Input::MouseButtonEventHandler ^ PreviewMouseDoubleClick;
public event System.Windows.Input.MouseButtonEventHandler PreviewMouseDoubleClick;
member this.PreviewMouseDoubleClick : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event PreviewMouseDoubleClick As MouseButtonEventHandler 

次の例は、イベントハンドラーを PreviewMouseDoubleClick イベントにアタッチする方法を示しています。The following example shows how to attach an event handler the PreviewMouseDoubleClick event.

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

次の例は、PreviewMouseDoubleClick イベントのイベントハンドラーを示しています。The following example shows the event handler of the PreviewMouseDoubleClick event.

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.";
    }
}
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

注釈

このルーティングイベントは、要素ツリーを通じてトンネリングルートに従っているように見えますが、実際には、各 UIElementによって要素ツリーに沿って発生する直接ルーティングイベントです。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. Handled プロパティを PreviewMouseDoubleClick イベントハンドラーで true に設定すると、その後の PreviewMouseDoubleClick イベントは Handled に設定された falseで発生しますが、MouseDoubleClick に設定されている場合は Handled イベントが発生します。trueIf 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.

マウスのダブルクリックを処理するコントロールの作成者は、ClickCount が2に等しい場合に PreviewMouseLeftButtonDown イベントを使用する必要があります。Control authors who want to handle mouse double clicks should use the PreviewMouseLeftButtonDown event when ClickCount is equal to two. これにより、要素ツリー内の別の要素がイベントを処理する場合に、Handled の状態が適切に反映されます。This will cause the state of Handled to propagate appropriately in the case where another element in the element tree handles the event.

Control クラスは、PreviewMouseDoubleClick イベントと MouseDoubleClick イベントを定義しますが、対応するシングルクリックイベントは定義しません。The Control class defines the PreviewMouseDoubleClick and MouseDoubleClick events, but not corresponding single-click events. ユーザーがコントロールを1回クリックしたかどうかを確認するには、MouseDown イベント (またはそれに対応するイベント) を処理し、ClickCount プロパティ値が1であるかどうかを確認します。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.

ルーティングされたイベント情報Routed Event Information

識別子フィールドIdentifier field PreviewMouseDoubleClickEvent
ルーティング方法Routing strategy 直接Direct
委任Delegate MouseButtonEventHandler

適用対象