2014-07-22 87 views
1

我在嘗試從一個TabItem切換到另一個時嘗試創建通知的情況,並且我嘗試使用LostFocus()來執行此操作。TabItems的SelectionChanged事件

其實我的每個TabItem都由TextBlock和一些寫在其上的數據組成。所以切換通知我試圖達到這樣的:

StackPanel sp = new StackPanel() 
    { 
     Orientation = Orientation.Horizontal 
    }; 
    sp.Children.Add(generateTextBlockContaini()); 
    TabItem tbi = new TabItem(); 
    tbi.Header = sp; 
    tbi.LostFocus +=(o,e) => 
    { 

     //MesssagePop up 
     MessageBox.Show("Hurrey tabItem changed"); 
    }; 

問題出現是:

(1)它工作正常,但我需要的文本塊點擊一次,當我爲了切換到另一個的TabItem彈出此消息框(因爲如果我不點擊它的焦點未設置)。有沒有辦法在silverlight 5中設置textblock的焦點? (2)即使它被設置,它將無限調用,因爲我用文本框替換了文本塊,並使用了Focus(),並且它無限地調用。

回答

0

您的特定情況下,你可以使用MouseLeaveMouseEnter事件,而不是LostFocusGotFocus。這些事件將會觸發,而不需要用戶點擊TabItem內的控件。

相關問題