gpt4 book ai didi

c# - 使用 MVVM 动态添加时给予 TabItem 焦点

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:00 24 4
gpt4 key购买 nike

全部,我正在使用 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

感谢您的宝贵时间。

最佳答案

您可以将 selectedIndex 绑定(bind)到 View 模型上的属性

SelectedIndex="{Binding SelectedTabIndex}" >

或使用

SelectedItem="{Binding SelectedWorkSpace}"

在您的 ViewModel 中,当您将新的 Workspace 添加到 Workspaces 时,适本地设置 SelectedTabIndex/SelectedWorkSpace。

后者使您可以访问您可能无论如何都需要的当前工作区。

关于c# - 使用 MVVM 动态添加时给予 TabItem 焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16659592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com