2015-01-10 84 views
0

我有一個關於在WPF中測試的問題。我創建了一個自定義WindowChrome以使tabheaders溢出到Chrome中。但是我有一個關於hittests的問題。WPF Hittest NEXT到tabitem不工作

當我嘗試拖動窗口,而無需打開選項卡則hitTest工作: http://i.imgur.com/D6b1yRz.png

但只要我打開一個標籤不上鍍鉻的HitTest了: http://i.imgur.com/RMH4AwN.png

我基本上有一個網格包含上面和下面的Chrome瀏覽器TabControl。兩者都在Grid.Row = "0"TabControlWindowChrome.IsHitTestVisibleInChrome="True" Background="{x:Null}" Grid.RowSpan="2"

我試圖搜索谷歌,但無法找到解決這個問題的方法。有人能指出我正確的方向嗎?

看來,tabitems創建一個背景旁邊是透明的,而不是x:Null因此使它失敗的命中,有沒有辦法使背景x:Null什麼?

回答

0

您可以繪製出Background這一點:

<Style TargetType="TabItem"> 
<Setter Property="Background" Value="{x:Null}" /> 
</Style> 

把那您Window.Resources。雖然有點不清楚你想要完成什麼:只有當你點擊它們上的「文本」時,你的標籤項纔會被選中,否則它現在會打到windows chrome。

+0

我希望能夠點擊完整的標題,並仍然選擇它...問題是,如果我點擊旁邊的標題,我不能使用WindowChrome。所以基本上頭部旁邊的空間需要被擊中,但我會先嚐試這個! –

+0

不用這個解決方案不起作用......太糟糕了。 –

+0

由「不行」你的意思是什麼?沒有改變?獲取snoop,並檢查背景是否實際得到'x:Null'或不。 –

0

我通過在窺探中四處查看來修復它。我發現我需要編輯TabControl中的TabPanel。通過在TabControl.Resources中添加以下代碼,我修復了此問題:

<Style TargetType="{x:Type TabPanel}"> 
     <Setter Property="Background" Value="{x:Null}"></Setter> 
     <Setter Property="HorizontalAlignment" Value="Left" /> 
</Style> 

感謝您的幫助!