2016-12-07 1 views
1

탭 컨트롤에서 탭을 만들고 싶습니다.MVVM TabControl에서 새 탭 선택

XAML :

MainViewModel
<TabControl SelectedIndex="{Binding SelectedTabIndex}" Name="Items"> 
     <TabControl.Resources> 
     </TabControl.Resources> 
</TabControl> 

:

public int SelectedTabIndex 
{ 
    get 
    { 
     return Items.Count - 1; 
    } 
    set { ; } 
} 
public void AddTab() 
{ 
    var chart = new ChartViewModel(this.eventAggregator, this.windowManager); 
    NotifyOfPropertyChange(() => SelectedTabIndex); 
} 

ChartViewModelCaliburn.Micro.Screen에서 상속 클래스, Caliburn.Micro.Conductor<Caliburn.Micro.Screen>.Collection.OneActive

에서 MainViewModel 상속 탭이 제대로 생성되지만이 후 선택되지는 그.

+1

는 이럴 WPF의 코드 냄새, 이런 일에 XAML 코드를 변경

. ItemsSource/SelectedItem을 사용하여 선택을 관리하는 것이 항상 쉽고 빠릅니다. 또한 MVV 방식으로 TabControl을 사용하는 방법에 대한 더 깔끔한 예제는 내 대답은 여기를 참조하십시오 http://stackoverflow.com/a/5651542/1228 – Will

답변

4
는 selectedIndex의 (또는 유사)에 바인딩
<TabControl SelectedIndex="{Binding SelectedTabIndex,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Name="Items"> 
     <TabControl.Resources> 
     </TabControl.Resources> 
</TabControl> 
+0

'SelectedTabIndex'에'set' 속성을 추가해야했지만 이제 작동 :) 감사합니다. –

관련 문제