2015-01-10 26 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> 

感谢您的帮助!