2015-01-21 6 views
1

내가 -simplified- WPF의 UserControl을 이런 식으로 뭔가 보이는이 발생하지 않습니다 된 UserControls에 클릭이 같이WPF : 배경은

<UserControl Name="NiceUserControl" MouseLeftButtonUp="NiceUserControl_MouseLeftButtonUp"> 
    <Grid MouseDown="Grid_MouseDown"> 
     <Border> 
      <A lot Of Different Stuff like Buttons and Other usercontrols> 
     </Border> 
    </Grid> 
</UserControl> 

을 UserControl을 화재에서 이벤트 "하는 MouseLeftButtonUp"는 자식 - 하나 내 컨트롤의 (빈) 배경을 클릭하면 UserControl의 요소가 클릭되지만 그렇지 않습니다.

 NiceUserControl.AddHandler(MouseDownEvent, new MouseButtonEventHandler(NiceUserControl_MouseDown), true); 

을하지만,이는 데 도움이 : 나는 또한 이벤트가 이미 처리 될 때 무시해야 마지막 매개 변수에 의해, addingthis 이벤트 핸들러를 시도

:(하지 않는 빨간색 배경에 녹색 요소 화재에 "Professional" Demo: 클릭 예를 들어 내 usercontrol에 대한 텍스트 상자 - 배경 여전히 화재가 아니야 포함 된 표에서 PreviewMouse-Events 또는 MouseEvents가없는 경우

참고 : 예를 들어, 컨트롤 내의 버튼에 자체 click 이벤트가 있어야합니다. 하지만 난 그들도 사용자 정의 컨트롤을 클릭 트리거 싶어요 ent.

+0

'UserControl','Grid' 또는'Border'에'Background'를 설정 한 다음, 예를 들어'Transparent'와 같이 default null이 아닌 다른 것으로 설정해야합니다. 그렇지 않으면 눈에 잘 띄지 않습니다. – dkozl

+0

@ dkozl 그것 aktually 이것처럼 간단합니다. 나는 사건에 대해 생각하지 않았다. 감사! – topograph

답변

3

아마도 배경 속성을 설정하지 않았기 때문일 수 있습니다.

+0

남자, 굉장해! 고맙습니다! 그것만큼 간단합니다. -__- 적어도 나는 이제 라우트 된 이벤트가 어떻게 작동하는지 알게되었습니다 : D – topograph

+0

@topograph 당신은 그것을 대답 해 주시길 바랍니다. 감사! –

+0

물론! Stackoverflow 말했다, 나는 그것을 표시하는 데 몇 분 기다려야한다;) – topograph

관련 문제