1
我想在創建選項卡後從選項卡控件中選擇選項卡。MVVM從TabControl中選擇新選項卡
XAML:
<TabControl SelectedIndex="{Binding SelectedTabIndex}" Name="Items">
<TabControl.Resources>
</TabControl.Resources>
</TabControl>
MainViewModel:
public int SelectedTabIndex
{
get
{
return Items.Count - 1;
}
set { ; }
}
public void AddTab()
{
var chart = new ChartViewModel(this.eventAggregator, this.windowManager);
NotifyOfPropertyChange(() => SelectedTabIndex);
}
ChartViewModel
是從Caliburn.Micro.Screen
繼承的類,從Caliburn.Micro.Conductor<Caliburn.Micro.Screen>.Collection.OneActive
MainViewModel
繼承選項卡被適當地創建,但它後不選擇那。
綁定到SelectedIndex的(或類似)是恕我直言,在WPF中的代碼味道。使用ItemsSource/SelectedItem來管理選擇總是更容易和更清晰。此外,爲了更清晰地說明如何以MVVM方式使用TabControl,請參閱我的答案http://stackoverflow.com/a/5651542/1228 – Will