Window.Owner
의 기능을 모두 사용하지 않고 가져올 수 있습니까?WPF에서 항상 맨 위의 동작이없는 창 소유자
두 개의 창, 창 A와 창 B가 있습니다. 둘 중 하나를 선택하면 다른 응용 프로그램 위에 가져 오지만 둘 중 하나를 다른 응용 프로그램 위에 겹쳐 쓸 수 있도록 만들고 싶습니다. (사실 두 개 이상은 있지만 두 가지 모두 비슷하게 동작해야합니다.)
창 B의 Owner
을 A로 설정하면 두 창 중 하나로 전환하면 다른 응용 프로그램보다 앞선 두 개가 나타납니다. B가 항상 A (내가 원하지 않는)의 꼭대기에 앉도록 강요합니다.
실제로는 이미 창 계층을 Owner
/OwnedWindows
과 독립적으로 추적하는 코드가 있으므로 활성화 문제를 해결할 수 있도록 확장 할 수 있습니다. 그래서 그 문제를 단순화하는 경우, 내가 찾는 대체 답변은 다음과 같습니다.
실제로 어떻게해야합니까?이 창을 사용자가 활성화하면 특정 창 (모든 다른 창) 서로의 상대적인 기존 Z- 주문을 유지하면서 저 아래 Z- 주문까지 "?
+1 동일한 요구 사항이 있습니다. 이미 해결책을 찾았 니? z- 순서 질문 : 스택 (그냥 목록)을 유지하고 모든 Windows의 Activated 이벤트에 등록하여이 작업을 수행 할 수 있습니다. 각 이벤트에서 winodw를 스택에서 제거하고 맨 위에 둡니다 (== list.Add). 목록의 foreach 창은 foreground에 연결됩니다 (interop 사용). –
stijn
아직 다른 해결책을 찾지 못했습니다. 아래의 Todd의 답변은 유망 해 보이고 아마도 (내가 더 나은 것이 나오지 않는 한) 내가 사용하게 될 것입니다. 그러나이 프로젝트가 다시 태어 났으므로 아직 테스트하지 않았습니다. (그래서 나는 아직 답을 쳤다. 나는 약속한다. 나는 결국 다시 돌아올 것이다!) – Miral