2012-11-01 3 views
0

Settings 창이 VS2012의 Options 상자와 비슷하게 만들고 싶습니다. 각 설정 집합에 대해 XAML 페이지를 작성하려고합니다. 그러나 TreeView을 사용하여 표시 할 XAML 페이지를 선택하려면 어떻게해야합니까? XAML 페이지가 트리에로드 된 개체의 일부 여야합니까?TreeVew를 사용하여 다른 페이지로 이동

+0

XAML 페이지의 URL을 포함하는 객체에'TreeViewItems '를 바인딩하는 것보다 문제가 있습니까? –

답변

0

나는 다음의 라인을 따라 그것을 할 것 (I, 나는 ... 가능하면 MVVM 방식으로이 작업을 수행 할 어떻게 말을해야합니다.) :

는 뷰 모델 클래스를 가지고, 페이지에 TitlePageUrl이 포함 된 SettingsPageVM과 같은 이름을 지정하십시오.

는 같은 HierarchicalDataTemplate로, 바인드 Items 같은라는리스트와 TreeView에, 당신의 SettingsPageVM의 목록을 만든 데 :

<HierarchicalDataTemplate DataType="{x:Type vm:SettingsPageVM}" ItemsSource="{Binding Items, Mode=OneWay}"> 
    <StackPanel> 
     <Button Content="{Binding Title}" Command="Open"/> 
    </StackPanel> 
</HierarchicalDataTemplate> 

그런 다음으로 이동 처리하기 위해 열린 명령을 결합하여 페이지 :

<UserControl.CommandBindings> 
    <CommandBinding Command="Open" CanExecute="OpenCanExecute" Executed="OpenExecuted"></CommandBinding> 
</UserControl.CommandBindings> 

문제가 더 심각합니까?

+0

PageUrl은 페이지 클래스와 관련이 있습니까? – tofutim

+0

아니요,보기 모델 클래스에서 이동할 URL을 보유하기위한 속성입니다. –

관련 문제