如何確定是什麼導致WPF文本框的GotFocus事件 - 鼠標單擊或TAB鍵? 如果用TAB鍵設置了焦點,並且如果通過鼠標單擊設置了焦點,則會留下邊框的標準顏色,我需要更改邊框顏色。所以我需要從事件參數中提取出導致事件的原因,或者(更好)寫入觸發器以將其放入TextBox樣式中。如何確定是什麼導致了WPF TextBox的GotFocus事件 - 鼠標點擊或TAB鍵?
0
A
回答
1
我會建議使用OnKeyUp和OnMouseUp事件而不是GotFocus事件來確定這一點。在OnKeyUp中,您需要測試(請參閱Eventargs)它是按下的Tab鍵。
0
您可以擴展WPF文本框,然後將其用於所有文本框嗎?然後你可以有一些重寫的事件來確定你是如何聚焦的,或者做邊界改變。
class MySpecialTextBox : TextBox
{
protected override void OnIsKeyboardFocusWithinChanged(System.Windows.DependencyPropertyChangedEventArgs e)
{
// Focused by keyboard
}
protected override void OnMouseUp(System.Windows.Input.MouseButtonEventArgs e)
{
// Focused by mouse
}
protected override void OnIsMouseCaptureWithinChanged(System.Windows.DependencyPropertyChangedEventArgs e)
{
// Focused by mouse
}
}
相關問題
- 1. html5爲什麼是導致鼠標事件的點擊事件?
- 2. 爲什麼Enter或Tab鍵會導致TextBox上的驗證?
- 3. TextBox OnClick事件 - 點擊了什麼?
- 4. 使用Tab鍵導航滑動窗體除了鼠標點擊
- 5. Textbox SelectAll on tab但不是鼠標點擊
- 6. 鼠標左鍵點擊的事件
- 7. 鼠標點擊有時會導致鍵盤輸入,怎麼樣?
- 8. 如何確定哪個鼠標按鈕在WPF中引發了單擊事件?
- 9. Windows窗體,WPF鼠標點擊事件
- 10. 如何確定TreeView上的鼠標和鍵事件節點
- 11. WPF鼠標單擊事件
- 12. wxpython確定鼠標或按鍵是否觸發設定焦點事件
- 13. 什麼會導致PostMessage發送的鼠標點擊被忽略?
- 14. QwtPlot鼠標點擊事件
- 15. 鼠標點擊事件
- 16. 如何處理WPF中的鼠標滾輪點擊事件?
- 17. 點擊鼠標時如何確定mouseenter?
- 18. 如何確定哪些控制window.onbeforeunload在javascript導致了事件
- 19. 點擊鼠標右鍵點擊火焰事件並粘貼
- 20. 如何模擬鼠標點擊事件
- 21. 如何知道鼠標在畫布上點擊了什麼?
- 22. 如何鼠標點擊引發了按鈕的事件
- 23. 什麼原因導致jQuery點擊事件不總是觸發?
- 24. 如何讓鼠標點擊在特定點上做點什麼?
- 25. 如何找到IE中的選擇框 - 鍵盤或鼠標導致onChange事件?
- 26. 什麼能阻止mousePressEvent或事件過濾鼠標點擊事件?
- 27. 序列化JSON時:如何確定是什麼導致了InvalidCastException?
- 28. 確定是否點擊鼠標在DIV
- 29. WPF DataGrid地圖鼠標中鍵點擊Ctrl +左鍵點擊
- 30. 如何確定是否通過鍵盤或鼠標輸入引發了combobox selectionchangemitted
是的,我可以,但對我來說,最好使用樣式觸發器,因爲我想使它成爲樣式的一部分。可能嗎?事情是,我想創建一個ExpressionLight樣式的副本,它比WPFToolkit中的樣式燈更像真實樣式。 – 2010-06-24 23:56:06