C# wpf 跟Mouse按下彈起比較相關的事件我所知主要就
PreviewMouseDown
MuseDown
PreviewMouseUp
MouseUp
有沒有preview的差異見
What are WPF Preview Events?
ttp://stackoverflow.com/questions/1460170/what-are-wpf-preview-events
(Key按下彈起 也差不多這四個事件 概念相同)
而我我遇到的情境,我想在user按下TB(之後用這簡稱TextBox)後自動全選TB內的所有文字,
基本上全選的方法概念很簡單
不管用什麼事件內容都一樣
private void 某個事件(object sender, MouseButtonEventArgs e)
{
TextBox T = sender as TextBox;
if (T != null)
T.SelectAll();
}
所以問題在用哪個事件
我發生的問題是用MouseDown MouseUp PreviewMouseDown都沒用,
但是使用PreviewMouseUp就成功了
推測是因為MouseDown跟MouseUp是Bubble的所以不太清楚什麼原因就會無效
而很明顯
----------
PreviewMouseDown
MuseDown
下面兩個事件應該會發生在上面兩個之後(這是直接推測的)
PreviewMouseUp
MouseUp
------------
所以我猜PreviewMouseDown可能滑鼠在彈回的時候引發了什麼TB的類似MouseUp的內建機制會讓游標變回無反白並閃動,
而PreviewMouseUp幾乎發生在最後部會在引動什麼其他機制,
跟MouseDwon相比又可以繞過一些東西所以能成功
個人才疏學淺的推測如上