0

重複の可能性:
トリガーの時間遅延

さまざまなフォルダーの画像を表示するために、WPF でいくつかのボタンを使用しています。Clickすべてのボタンのモードは ですHover。一部のボタンでは、ホバリング後に function にルーティングされますOnButtonClick。私がやりたいことは、マウスがボタンの上にX数秒間置かれた後にのみ、関数内の処理を実行OnButtonClickすることです。

編集: XAML コード:

    <Button Name="Dresses" Content="Dresses" Click="OnButtonClickDresses" Grid.Row="2" Height="34" Width="85" VerticalAlignment="Center" Grid.Column="5"  FontFamily="Tahoma" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" Cursor="Hand" ClickMode="Hover">
        <Button.Background>
            <LinearGradientBrush>
                <GradientStop Color="Yellow" Offset="0" />
                <GradientStop Color="Green" Offset="1" />
            </LinearGradientBrush>
        </Button.Background>
    </Button>

C# コード:

    private void OnButtonClickDresses(object sender, RoutedEventArgs e)
    {
            //Code for delay

            //Code which should run only if mouse on button after 5 seconds

    }
4

1 に答える 1

3

MouseOver イベントでトリガーを使用します。マウスがコントロールの上に来たら、タイマーを開始します。マウスがまだコントロール上にある間に経過した場合は、クリックをシミュレートします。

ここで小さな例を見てください

于 2012-10-16T06:50:04.317 に答える