全部,我使用MVVM动态地向TabItem
添加TabControl
。新TabItems
加载正常,但我希望添加的标签能够自动获得焦点。也就是说,我添加了一个标签,我不想点击该标签以使其重点关注。
TabControl
的XAML看起来像
<TabControl ItemsSource="{Binding Path=Workspaces}"
IsSynchronizedWithCurrentItem="True"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
TabStripPlacement="Top">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding Path=DisplayName}"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
</Style>
</TabControl.ItemContainerStyle>
<TabControl.ContentTemplate>
<DataTemplate>
<views:ResourceControl DataContext="{Binding}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
我认为(基于这里的一些答案),IsSynchronizedWithCurrentItem="True"
会为我解决这个问题,但这不起作用。
如何自动选择添加的TabItem
?
感谢您的时间。
答案 0 :(得分:2)
您可以将selectedIndex绑定到viewmodel
上的属性SelectedIndex="{Binding SelectedTabIndex}" >
或使用
SelectedItem="{Binding SelectedWorkSpace}"
在ViewModel中,当您向工作区添加新的工作区时,请相应地设置SelectedTabIndex / SelectedWorkSpace。
后者使您可以访问当前可能需要的工作空间。