【发布时间】:2017-04-22 07:57:19
【问题描述】:
创建后我想从选项卡控件中选择选项卡。
XAML:
<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);
}
ChartViewModel是继承自Caliburn.Micro.Screen的类,MainViewModel继承自Caliburn.Micro.Conductor<Caliburn.Micro.Screen>.Collection.OneActive
选项卡已正确创建,但之后未选中。
【问题讨论】:
-
绑定到 SelectedIndex(或类似的)是 wpf 中的一种代码味道。使用 ItemsSource/SelectedItem 来管理选择总是更容易和更清晰。此外,有关如何以 MVVM 方式使用 TabControl 的更简洁示例,请参阅我的答案stackoverflow.com/a/5651542/1228
标签: c# wpf mvvm caliburn.micro