2010-12-28 4 views
6

이 질문은 전에 게시되었지만 좋은 답변을 찾을 수 없습니다.WPF MDI children

내 WPF 응용 프로그램에서 MDI 하위를 원합니다. 그리고 그 아이들이 WPF를 완벽하게 준수하기를 바랍니다.

.Net WPF에는 더 이상 MDI 하위 항목 (기본 창 내 창)이 없습니다. 어떤 사람들은 디자인이 쓸모 없으며 GUI 응용 프로그램이 그런 방식으로 설계되어서는 안된다고 말합니다. 그 사람들은이 게시물에 응답하지 않을 수 있습니다. 나는 내가 필요한 것을 안다. :)

WPF MDI에는 어떤 대안이 있습니까? MVVM에서 작동합니까?

EDIT : 사람들 - "MDI IS NOT GOOD"이라고 말한 의견을 투표하지 마십시오. 나는 특별히 그것을 피하도록 사람들에게 요청했다. MDI 창을 사용하지 말라고하지 말고 MDI 창을 요구합니다.

+0

이전에 게시 한 질문에 대한 답변에 어떤 문제가 있습니까? 이러한 솔루션이 왜 효과가 없을지 설명하지 않는 한 사람들은 다시 게시 할 것입니다. 예를 들면 다음과 같습니다. http://wpfmdi.codeplex.com/ –

+0

내가 잘못 생각한 것을 기억하지 못합니다.하지만 당신은 좋은 지적을했습니다. 다시 "(코드 내년에)"곧 이대로 돌아갈 것입니다. –

+0

WPVM-MDI를 사용하여 MVVM 표시 등을 시도했습니다. MDI 자식 (사용자 정의 컨트롤)의 메뉴와 버튼에서'Commands '를 묶었습니다. 괜찮 았어. –

답변

3

Here 당신이 찾고있는 것을 발견 할 것입니다.

편집 : 방금 질문 한 내용을 보았습니다. 그래서 나는 당신이 이미 그것에 대해 알고 있다고 생각합니다.

3
나는 당신이 듣고 싶지 않아 이해

하지만, 기본적으로 응용 프로그램의 메인 윈도우 내부의 데스크톱 메타포를 복제하는 것을 목표로 MDI, 그게 창 관리의 여러 수준 관여하기 때문에 최종 사용자에게 약간의 혼란이었다

기술 : 지금 당신은 그냥 괜찮을해야 정상 크기 및 모든 복원 한 다른 창 내부 활성 창의 Maximize 버튼을 클릭합니다.

고객 : 무엇?

Tab-based interfaces은 일반적으로 MDI의 더 나은 대안으로 간주됩니다. TabControl 클래스를 사용하고 TabItems에보기를 호스팅하는 방법을 보여주는 Josh Smith's MVVM article on MSDN Magazine을 읽을 수 있습니다.

+2

나는 동의하지 않지만 동의하지 않는다. MDI가 필요한 경우가 있습니다. 예를 들어, 모두가 MDI 윈도우 동작을 기대하고 여러 채널을 한 번에 따라 가길 원하는 mIRC 클론을 예로 들어 보겠습니다. 우리는 몇 가지 나쁜 용도 때문에 그것을 버릴 수 없습니다. –

+0

@Tedd, MDI에는 여전히 용도가 있지만 WPF는 그 메타포를 지원하지 않기 때문에 MVVM과 함께 좋은 에뮬레이트 솔루션을 찾기가 어려울 수 있습니다. –

+0

MDI 많은 자식 윈도우를 통제하에 유지하는 데 매우 유용합니다. Photoshop CC의 악몽을보고 Alt 키를 누른 상태에서 다른 앱으로 이동해보십시오. 탭이있는 응용 프로그램은 일부는 괜찮 았지만 다른 사용자는 끔찍한 응용 프로그램입니다. MDI는 상자 안에있는 또 다른 도구처럼 취급되어야하며 패션의 이유로 싫어서는 안됩니다. –