2010-06-22 31 views

回答

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 
    } 
} 
+0

是的,我可以,但對我來說,最好使用樣式觸發器,因爲我想使它成爲樣式的一部分。可能嗎?事情是,我想創建一個ExpressionLight樣式的副本,它比WPFToolkit中的樣式燈更像真實樣式。 – 2010-06-24 23:56:06

相關問題