2011-10-26 3 views
0

Window Handler 등을 사용하여 항목을 추가 할 수 있었지만 기존 항목 (기본 도구 내부의 창 도구 창)을 제거하고 싶습니다. 그 모든 옵션을 원한다). 아래의 스크린 샷에는 내가 추가 한 스크린 샷과 제거하고 싶은 스크린 샷이 표시되어 있습니다. 이 작업을 수행 할 수있는 방법이 있으면 알려주십시오.WPF TitleBar 컨텍스트 메뉴에서 MenuItem 제거

편집 :

또는 더 나은 아직, (가능한 경우) XAML 내 자신의 상황에 맞는 메뉴를 넣어하는 방법에 대해 설명합니다. 하지만 제목 표시 줄이나 에어로 효과를 잃고 싶지는 않습니다.

감사합니다.

enter image description here

+0

이다. 그래서, 나는 당신의 솔루션을 듣고 싶습니다. – bsh152s

+0

@ bsh152s 죄송합니다, 그것을 할 수있는 방법을 찾지 못했습니다, 우리는 여전히 모든 메뉴 항목을 가지고 있습니다. – Carlo

답변

0

당신은 WPF ContextMenus가 바인딩, 그래서 당신의 컨트롤의 나머지와 같은 시각적 트리의 일부가 아니기 때문에

<Grid> 
    <Grid.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Dock" Command="{Binding ...}" /> 
     </ContextMenu> 
    </Grid.ContextMenu> 

</Grid> 

그냥 바인딩에주의 WPF

에 자신 ContextMenus를 만들 수 있습니다 예상대로 작동하지 않습니다. 명령을 얻으려면 PlacementTarget에 대한 상대 소스 바인딩이 필요할 것입니다.

+0

안녕 레이첼. 제안 해 주셔서 감사합니다. 나는 그 일을하는 법을 이미 알고있다. 문제는 제목 표시 줄에서이 작업을 수행해야하므로 어렵게 만듭니다. 내가 제안한 것을 수행하면 상황에 맞는 메뉴가 창 안에 표시되지만 필요하지 않습니다. 감사합니다 =). – Carlo

0

나는이 답변이 당신이 묻는 것과 약간 다르지만 도움이 될 수 있음을 알고 있습니다. 창 제목 표시 줄에서 기본 제공 메뉴를 수정하고 싶습니다. 그러나 사용자 정의 크롬을 사용하여 해당 메뉴를 덮어 쓰는 경우 (mozilla firefox/MS Office와 같은 방식)?

이렇게하려면 http://archive.msdn.microsoft.com/WPFShell에서 WPF 셸 통합 라이브러리를 다운로드하고 함께 재생하십시오. 라이브러리에는 점프 목록과 같은 몇 가지 유용한 기능이 포함되어 있습니다. 이 기술에

더 문서는 내가 똑같은 일을 찾고 http://blogs.msdn.com/b/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

관련 문제