2011-06-01 58 views
5

在WPF TabControl中,默認行爲是更改鼠標下方的選定選項卡。WPF TabControl如何更改鼠標上的Tab而不是鼠標向下?

在我的應用程序中,更改選項卡有時會調整事物大小,並且有時會由於tabcontrol被移動而在另一個用戶控件上調用鼠標向上事件。

如果我可以設置標籤頁切換隻在鼠標上而不是鼠標下來,它將解決問題。

回答

2

您可以使用自定義的TabItem像這樣:

public class MyTabItem : TabItem { 

    protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { 
     if (e.Source == this || !this.IsSelected) 
      return; 

     base.OnMouseLeftButtonDown(e); 
    } 

    protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { 
     if (e.Source == this || !this.IsSelected) 
      base.OnMouseLeftButtonDown(e); // OR just this.Focus(); OR this.IsSeleded = true; 

     base.OnMouseLeftButtonUp(e); 
    } 
} 
+1

優秀這個快速固定我的問題! – Joe 2011-06-01 20:58:06