2016-12-10 9 views
0

私のウィンドウに電話ボタンがありますsilverlight 8.1 app 2つのイベントを1つのクリックイベントと2つ目のイベントを作成しました。ユーザーがそのようなボタンを押してからイベントを発生させたくない場合は しかし、現在のところ、私はボタンを押したままにして、そのボタンをクリックしてボタンを放ち、それもどのように処理するために発生します。Clickイベントはイベントを実行するときに起動しません

private void ExtraButton_Click(object sender, RoutedEventArgs e) 
{ 

} 

private void ExtraButton_Hold(object sender, GestureEventArgs e) 
{ 

} 

ホールドイベントが実行されたときにクリックイベントをキャンセルする方法。

+0

私はすでに、マウスが入るしようとしたが、両方のイベントはまだ私は明日しようとする –

答えて

1

は、最初に起動されます。

 private void button1_Hold(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
     e.Handled = true; 
     MessageBox.Show("button have been holded"); 

    } 

    private void button1_Tap(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
     MessageBox.Show("button have been tapped"); 
     //your code goes here 
    } 

Handledプロパティをtrueに設定した後、Button Clickイベントはジェスチャを処理しません。

+0

偉大な:)それは働くおかげで、今私はタップとクリック通気を置き換える...ありがとう.. :) –

1

PointerExitedイベントでクリックイベントを保持している間に、ボタンクリックイベントを配線解除することで、要件を達成できます。以下のコードスニペットを参照してください。 PointerExitedイベントで

Button btn = new Button(); 

btn.Holding += Btn_Holding; 

btn.Click += Btn_Click; 

btn.PointerExited += Btn_PointerExited; 


     private void Btn_PointerExited(object sender, PointerRoutedEventArgs e) 
     { 
      btn.Click += Btn_Click; 
     } 

     private void Btn_Click(object sender, RoutedEventArgs e) 
     { 

     } 

     private void Btn_Holding(object sender, HoldingRoutedEventArgs e) 
     { 
      btn.Click -= Btn_Click; 
     } 

、あなたはそれがいくつかの条件を使用して、既にフックでない場合にのみ、クリックイベントをフックすることができます。パフォーマンスが向上します。私はあなたがこのボタンを押したときに、ボタンがイベントを開催するので、ボタンをタップイベントにイベントをクリックしますボタンを置き換えることができます示唆

+0

感謝を発射し、 2つのボタンを作成してみてください(スタックパネルを使用して第一ボタンの上に第二ボタンをし、視認性と視認プログラム的に崩壊した)が、両方のイベントはまだ火災、 仕事があれば、私はあなたの答えを答えたものとして間違いなくマークします。ところで、別の質問に答えることができます。http://stackoverflow.com/questions/40845803/automatically-filter-order-listbox-items-windows-phone –

+0

は、ボタンをクリックしたときに指が離れると機能しません。 : –

+0

このソリューションは実際にはかなり機能しているようですが、実際にあなたのケースでは機能しませんか? 'Debug.WriteLine'を使ってどのイベントが起動されたかを確認できますか? –

1

Button_HoldイベントとButton_Tapイベントを使用して要件を達成します。

関連する問題