4

コントロールを使用しようとするときは、とSliderを聞きたいです。両方のイベントに対してハンドラーをセットアップしました。期待どおりに動作します。全く上げられません。 MouseLeftButtonDownMouseLeftButtonUpMouseLeftButtonUpMouseLeftButtonDown

理由はありますか?

少しグーグルで調べてみましたが、WPFも起動していないようです。解決策の 1 つ (この投稿) は、Silverlight がサポートしていないプレビュー バージョンのイベントを使用することでした。

私が見ていないこれに対する簡単な解決策はありますか?

ありがとうJ

4

1 に答える 1

12

これは、Slider がマウスのダウン/アップ イベントを処理するために発生します。内部的には、2 つの RepeatButton と中央のつまみとして実装されています。スライダーの左側または右側をクリックすると、マウス イベントは RepeatButtons によって処理されますが、取得できません。

処理されたイベントを引き続き処理したい場合は、AddHandler()メソッドを使用できます。Silverlight の例を次に示します。

XAML

<Slider Width="100"
        VerticalAlignment="Top"
        Minimum="0"
        Maximum="100"
        Name="sl" />

C#

public partial class MainPage : UserControl
{
  public MainPage()
  {
    InitializeComponent();

    sl.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonDown), true);
    sl.AddHandler(MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
  }

  private void Slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
  {
  }

  private void Slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  {
  }
}

WPF の状況はほぼ同じです (名前のわずかな違い)。

于 2009-09-24T16:22:33.173 に答える