2010-12-14 2 views
3

저는 프로젝트에서 여러 Wpf 페이지를 가지고 있습니다.이 페이지들은 다양한 폼과 UI 컨트롤 테마를 가지고 있습니다. 아래 이미지는 mainWindow를 보여 주며 두 개의 버튼이 있습니다. 강조 표시된 프레임 컨트롤을 사용하여 + 또는 편집 버튼을 클릭하면 특정 페이지를 표시하려고합니다.mainWindow에서 다른 wpf 페이지를 보여주는 더 좋은 방법은?

Page1 me = new Page1(); 
mainFrame.Content = me; 

을하지만 그것은 IE 탐색 사운드를 가지고 있으며, 도구 모음 페이지 2로 이동 한 후 나타납니다

는 apparenatly이 중국식 팬. 다른 페이지를 표시하고 프레임을 사용하지 않는 것이 더 좋은 방법일까요?

alt text

답변

6

PageUserControl으로 변환 할 수 있습니다. 그런 다음 해당 컨트롤을 Grid과 같은 다른 컨테이너에 넣을 수 있습니다. 탐색 할 때 컨테이너의 페이지를 수동으로 교체해야하지만 어쨌든 그렇게하는 것처럼 보입니다.

+0

YoteXP가 솔루션을 제공합니다. –

1

Frame 제어의 목적은 네비게이션을 허용한다. 탐색을 원하지 않으면 Frame을 사용하지 마십시오. 네비게이션 도구 모음을 끌 수도 있지만 네비게이션 도구 모음을 실제로 끄는 것은 아닙니다. 뒤로 이동하기위한 마우스 버튼과 키보드 단축키가 있습니다.

네비게이션없이 UI 요소를 호스팅하려는 경우 Border 요소처럼 더 간단한 것을 사용하십시오. 내용을 Child 속성에 넣으십시오. Child은 런타임에 원하는만큼 여러 번 변경할 수 있습니다.

+0

이 오류가 발생합니다. "페이지는 창 또는 프레임 만 상위로 가질 수 있습니다." – hafhadg3

+0

YotaXP의 답변으로 인해 귀하가 제기 한 문제가 해결되었다고 가정합니까? –

+0

왜 누군가가 이것을 downvoted하는지 잘 모르겠습니다. (필자가 작성한 +1과 -1이 있습니다.) 필자가 작성한 것은 정확하며 @Alexandergre가 제기 한 문제는 YotaXP의 제안에 의해 완전히 해결됩니다. 그래서 해결책은 내가 말한 것 (프레임에 넣지 말 것)과 @YotaXP가 말한 것 (페이지로 만들지 말 것)의 조합 *입니다. 저를 싫어하는 사람이 저의 답장을 보게된다면, 저의 대답에 대해 틀렸다고 생각하는 의견을 적어주십시오. –

1

프레임 컨트롤의 NavigationUIVisibility를 Hidden으로 설정할 수있었습니다. 이것은 나를 위해 문제를 해결했다. 그래도 Visual Studio 2010을 사용하고 있지만 이전 VS 버전에는 적용되지 않을 수 있습니다.

0

이안 그리피스 (Ian Griffiths), 당신이 제안하는 것은 개발자의 작업 부하를 상당히 증가시킵니다. 그리고 XAML의 기본 패러다임을 벗어나고 있습니다.

제 경우에는 가능한 한 게임 응용 프로그램을 개발 중이며 WPF를 UI 플랫폼으로 선택했습니다. 나를 위해 그것은 소개 화면, 문자 선택 등을 의미합니다. 페이지의 목적은 그러한 응용 프로그램의 탐색 요구를 캡슐화하는 것입니다.

나는 downvote가 "내비게이션을 원하지 않는다면 ..."이라는 진술로 인한 것 같다고 생각합니다. 내가 원래의 포스터 질문을 다시 읽으면서 그가 탐색을 원한다고보고, 그는 단지 그 자신의 조건으로 그것을 원한다. 나는 너를 아래로 투표했을 텐데. YotaXP의 솔루션은 특히 다른 사용자 컨트롤을 포함 할 수있는 경우 사용자 컨트롤을 사용하여 문제를 무시합니다. Chris Calvert가 문제의 매개 변수 내에서 포스터의 문제에 대한 실제 솔루션을 생각해 냈습니다.

내비게이션 단축키 등을 기존의 패러 그 림 내에서 덮어 쓸 수 있다면 골치가 듭니다.하지만 그 자체의 스레드에서는 적절합니다.

+0

상당한 추가 작업이 있습니까? 'UserControl'을'Border'의 내용으로 설정하는 것은'Page'를'Frame'의 내용으로 설정하는 것과 똑같은 양의 코드 (1 줄)를 취합니다. 유일한 차이점은 '프레임'을 사용하면 탐색 지원을받을 수 있다는 것입니다. 문제는 탐색 기능에 대해 불평했습니다. (나는 네가 네비게이션을 원한다고 결론을 내린 것을 보지 못했다. 특히 그가 받아 들인 답을 들었다.) 나는 네비게이션 툴바를 끌 수있는 옵션이 있다는 것을 지적했다. (그리고 Chris Calvert는 더 자세한 정보를 제공했다.) 버튼없이 탐색을 원한다면 –

관련 문제