当另一个TabItem处于活动状态时激活不同的TabItem

时间:2016-08-10 09:32:04

标签: c# wpf tabcontrol tabitem

我有一个包含多个TabItem的TabControl。我有一个Button,当按下它时,在我的应用程序中显示TabControl并打开一个特定的选项卡。当我在我的应用程序中TabControl不可见时,这可以工作。但是,当TabControl可见并且选择了不同的选项卡时,Button不起作用。选项卡不会更改。

这是我的TabControl的样子

<TabControl x:Name="TabControl">
    <TabItem Header="Log"/>
    <TabItem x:Name="AlarmTab" Header="Alarms"/>
</TabControl>

我在Button命令

中尝试了以下三种方法
TabControl.SelectedIndex = 1;
TabControl.SelectedItem = AlarmTab;
AlarmTab.IsSelected = true;
Application.Current.Dispatcher.Invoke(() => AlarmTab.IsSelected = true);

但是当选择另一个标签时,这些都不起作用。

修改

当我使用BeginInvoke而不是Invoke时,它可以正常工作,但我不认为我应该使用BeginInvoke,因为在我切换到其他选项卡之前我可能会看到TabControl,对吧?

0 个答案:

没有答案