1

カスタムスクロールバーを作成しようとしていて、画像をボタンとして使用しています。

とりあえずシンプルに

私は MouseLeftButtonDown と Up イベントをうまく処理できますが、私がやりたいのは、それを押したままにして、非常に多くのミリ秒のトリガーごとにイベントが発生することです。

私はこのようなことを試みましたが、うまくいきません。提案?

public delegate void Changed(RangeScrollButtonControl sender, int value);
public event Changed OnChanged;
private System.Threading.Timer Timer;

private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    this.Timer = new System.Threading.Timer(Timer_Callback, null, 0, 100);
}

private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    this.Timer = null;
}

private void Timer_Callback(object sender)
{
    if (this.OnChanged != null) 
    {
        this.OnChanged(this, 1);
    }
}
4

3 に答える 3

2

探している機能の一部はRepeatButtonです。これにより、マウスボタンを押している間、Clickイベントが繰り返し発生します。イベントの遅延と間隔を構成できます。

次に、このボタンのスタイルを設定して、 SilverlightShowで画像を使用できます。

お役に立てれば。

于 2009-04-14T22:21:25.053 に答える
0

「うまくいかない」のはどれ?

また、Silverlght のスクロールバーのスタイルを変更または再テンプレート化して、必要なものを取得するために、このブログ投稿に見られるものと同様にできますか?

于 2009-04-13T02:55:11.480 に答える
0

ストーリーボードをタイマーとして使用します。何かのようなもの:

その後、MouseSTB.Begin を実行できます。ストーリーボードが完成したら、MouseSTB.Completeed イベントでキャッチできます。その場合は、必要なことをすべて実行してから、最初からやり直すことができます。これは、mouseover、mouseenter、および mouseleave イベントにいくつかのフラグを設定することで簡単に制御できます。私はこれらのタイマーを多くの場所で使用していますが、問題なく動作し、プロセッサーをペグしません。

于 2009-04-13T12:08:04.833 に答える