2010-08-03 7 views
1

wpf로 시작한 Im (블렌드 4에서)과 내용을 변경하기위한 사이드 메뉴가있는 응용 프로그램을 만들고 싶습니다. 내가 찾고있는 것은 파일 메뉴에서 2010이라는 단어와 같은 것입니다. 왼쪽의 메뉴를 클릭하면 오른쪽의 내용이 그에 따라 변경됩니다. page.xaml을 프레임에 중첩시키고 각 페이지의 프레임 탐색 소스를 변경하는 방법에 대한 기사를 읽었습니다. 이게 옳은 거니? 내가 할 때 탐색 표시 줄 상단에 나타납니다. 나는 쉽게 그걸 없애 버릴 수 있지만 나는 내가 원하는 것을 잘못된 길로 인도하고있는 것처럼 보입니다.독립 실행 형 WPF 응용 프로그램의 탐색 메뉴

미리 감사드립니다.

+0

페이지의 XAML에서 ShowsNavigationUI = "False"를 수행하여 제거 할 수있는 탐색 모음. 그래도 잘못된 프로젝트 유형을 사용했다고 생각합니다. - 페이지 작업을한다면 WPF _browser_ 응용 프로그램을 사용하고있는 것입니다. 일반적으로 독립형을 Windows 응용 프로그램 (WPF 응용 프로그램 프로젝트 유형)과 연결합니다. – Goblin

+0

나는 wpf 응용 프로그램과 함께 일하고있다. 내가 VB 형식에서 그것을 한 방법은 양식을 숨기거나 표시하는 것이 었습니다. 따라서 "페이지"를 보고서에서 개요로 변경하려면 보고서를 숨기고 개요 컨트롤을 표시하면됩니다. 이제 버튼이 메인 윈도우의 일부를 변경하는 곳에서 똑같은 일을하려고합니다. – Bbbh

답변

2

TabControlFrame 기반 솔루션은 모두 극단적 인 스펙트럼과 같습니다. 탭 컨트롤은 탭 상태와 표시된 UI 사이를 매우 밀접하게 결합합니다 (예 : 명시 적 탭 항목이없는 대화 상자로 변경하기가 어려울 수 있음). 반면 프레임은 상대적으로 느슨한 결합을 가능하게하지만 이 시나리오에서는 역사/페이지 스택이 포함 된 본격적인 선형 탐색을 지원하기 위해 과도한 공격을합니다. (프리즘은 "지역"개념을 통해 비슷한 메커니즘을 제공합니다.)

중간 영역은 자리 표시 자 요소가있는 메인 "창 프레임"UI를 가질 수 있으며 개별 "페이지"를 파생시킬 수 있습니다 UserControl,이를 일반 UI 요소로 만듭니다. UI의 특정 페이지로 전환하려면 해당 사용자 정의 컨트롤을 코드 또는 XAML 리소스를 통해 인스턴스화하고 앞서 설명한 자리 표시 자 요소의 Content 속성으로 설정합니다. (이것은 기본적으로 VB에서 언급 한 것과 동일한 메커니즘으로 하위 폼을 숨기거나 표시합니다.)

시나리오의 실제 제약 조건에 따라 선택할 수있는 옵션이 있습니다.

0

TabStripPlacement="Left"으로 TabControl을 생성하는 가장 간단한 코드입니다. 예를 들어 :

 <TabControl TabStripPlacement="Left"> 
      <TabItem Header="Tab1" /> 
      <TabItem Header="Tab2" /> 
      <TabItem Header="Tab3" /> 
     </TabControl> 

당신은 더 UI, 색상을 변경하고 & 느낌을보고 Styles을 적용 할 수 있습니다.

관련 문제