WPF Hittest NEXT到tabitem不起作用

时间:2015-01-10 11:40:56

标签: c# wpf windows xaml hittest

我在WPF中遇到了关于测试的问题。我创建了一个自定义WindowChrome,让tabheaders溢出到Chrome中。但是我遇到了关于命中测试的问题。

当我尝试在不打开标签的情况下拖动窗口时,hittest可以正常工作: http://i.imgur.com/D6b1yRz.png

但是只要我打开一个标签,它就不会再对Chrome进行测试了: http://i.imgur.com/RMH4AwN.png

我基本上在TabControl的顶部和下方有一个包含Chrome的网格。两者都在Grid.Row = "0"TabControlWindowChrome.IsHitTestVisibleInChrome="True" Background="{x:Null}" Grid.RowSpan="2"

我尝试在谷歌搜索但无法找到解决此问题的方法。有人能指出我正确的方向吗?

似乎tabitems在它们旁边创建了一个透明而不是x:Null的背景,从而使其失败了,有没有办法制作背景x:Null或其他东西?

2 个答案:

答案 0 :(得分:0)

您可以使用以下方式映射Background

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

将它放到Window.Resources。虽然你有点不清楚你要用这个来完成什么:你的标签项只有当你点击它们上面的“文字”时才可以选择,否则它现在会点击windows chrome。

答案 1 :(得分:0)

我通过在窥探中四处看看来修复它。我发现我需要在TabControl中编辑TabPanel。通过在TabControl.Resources中添加以下代码,我修复了问题:

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

感谢您的帮助!