2016-12-20 30 views
-1

我試圖訪問的建議hereUWP的RepeatButton的MouseEvent

但它並不提供UWP。

現在我只是有:

btnLower.KeyUp += BtnLower_KeyUp; // keyboard 
btnLower.PointerReleased += BtnLower_PointerReleased; // seems only touch input 

的KEYUP似乎如預期的鍵盤輸入工作。 PointerReleased不支持觸控筆/筆輸入或鼠標輸入。那麼當RepeatButton停止觸發點擊事件時,如何響應該事件?

我使用click事件來增加或減少一個int值,並希望在更改(增加/減少)完成時存儲該值。我希望它能夠響應筆/觸摸/鼠標和鍵盤輸入。

編輯爲@Sasha

enter image description here

+0

對於所有類型,我建議您使用例如PreviewMouseDown事件。不確定筆,但它可以在觸摸和鼠標上正常工作 – Sasha

+0

'Preview〜'事件是一個WPF概念。 UWP消除了這些。 –

回答

0

你可以扼殺你的代碼存儲的價值,使其只能做的是,當已經發生了一段時間沒有更新。這樣你就不必在輸入堆棧周圍進行破解。

您可以嘗試在按鈕模板中使用自定義VisualStateManager,該按鈕模板將在視覺狀態從按下變爲中性時觸發事件,但這看起來有點冒險和不必要。

+0

所以沒有我可以訂閱的本地事件?限制提交數量的另一個選項是將repeatbutton的間隔設置得更高,以便它不會觸發如此多的點擊事件並僅提交每個觸發的點擊事件。這似乎是我唯一的選擇atm。感謝您的建議,但對於我正在嘗試做的事情似乎是一種矯枉過正。 –

+0

那麼,至少這會處理的情況下,當有人反覆點擊按鈕來達到與持有它相同的效果,這並不罕見。 –