2015-01-10 4 views
0

WPF에서 hittesting 관련 문제가 있습니다. 탭 헤더가 Chrome에 넘치도록 사용자 정의 을 만들었습니다. 하지만 히트 테스트와 관련하여 문제가 있습니다. WPF Hittest NEXT가 작동하지 않습니다.

나는 그러나 hitTest 탭을 열지 않고 창을 드래그하려고

작동 : http://i.imgur.com/D6b1yRz.png

그러나이 곧 내가 그것을 더 이상 크롬에 그러나 hitTest하지 않는 탭 열기로 : 기본적으로 http://i.imgur.com/RMH4AwN.png

I을 TabControl의 상단과 하단에 Chrome이 포함 된 표가 있습니다. 둘 다 Grid.Row = "0"이고 TabControlWindowChrome.IsHitTestVisibleInChrome="True" Background="{x:Null}" Grid.RowSpan="2"입니다.

나는 Google 전역에서 검색을 시도하지만이 문제에 대한 해결책을 찾을 수 없습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요?

tabitems가 x:Null 대신 투명하게 보이는 배경을 만들어서 히트 테스트에 실패하는 것 같습니다. 그 배경을 만드는 방법은 x:Null입니까?

답변

0

이 함께 Background을 매핑 할 수 있습니다 :

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

Window.Resources에 그 넣습니다. 비록 당신이 이걸로 무엇을하려고하는지 약간 불분명하다. 당신의 탭 항목은 당신이 "텍스트"를 클릭 할 때만 선택 가능할 것이다. 그렇지 않다면 이제는 윈도우 크롬을 친다.

+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> 

도움을 주셔서 감사합니다!