2012-05-04 68 views
0

我想要一個EventHandleMouseLeftButtonDown事件。當被調用/被觸發時,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),因此您可以使用Tap Event而不是MouseLeftButtonDown事件。

但是,我懷疑這個事件是多次觸發,導致字符串的刪除。

一個好的做法是使用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

'處理=真'我現在看到了。我是否明白這一點,我可以將多個EventHandle添加到單個事件中?好的,我也可以小心添加一個。但是有沒有辦法一次刪除所有'EventHandle'? –