2012-05-04 8 views
0

MouseLeftButtonDownイベントのためにEventHandleを持っています。呼び出された/発砲されたときには、stringの最後の文字を削除する必要があります。私のコードは次のようになります。WP7:Windows Phone 7:EventHandleがループしているようです

public string MyString; 

private void OnMouseDownDelete(object sender, MouseButtonEventArgs e) 
{ 
    int MyStringLength = MyString.Length; 
    MyStringLength = MyStringLength - 1; 
    MyString = MyString.Substring(0, MyStringLength); 
} 

しかし、私はこのコードを実行するとstringが空になるまでMouseLeftButtonDownイベントループを開始します。

私には何が欠けているのですか?

答えて

2

マンゴー(7.1)を使用しているため、MouseLeftButtonDownイベントの代わりにTap Eventを使用できます。

しかし、イベントが複数回発生して文字列が削除されている可能性があります。

良い練習が他のコントロールのは、同じイベントを処理しようとしないようにHandledプロパティを使用することです:

private void OnMouseDownDelete(object sender, MouseButtonEventArgs e) 
{ 
    int MyStringLength = MyString.Length; 
    MyStringLength = MyStringLength - 1; 
    MyString = MyString.Substring(0, MyStringLength); 

    e.Handled = true; 
} 

あなたはのMouseLeftButtonDownイベントが追加されている方法を示し、すべてのコードをポストする必要があるかもしれません。

+0

ありがとうございます。期待どおりに働く。 –

+0

どちらが効果がありますか? 'Tap'イベントに変更しますか?または 'Handled = true'を使用していますか? –

+0

'Handled = true'これが表示されます。私はこの権利を得ますか?複数のEventHandleを1つのイベントに追加できますか?さて、私はちょうど追加するために気を付けることができます。しかし、すべての 'EventHandle'を一度に削除する方法はありますか? –

関連する問題