如何在xaml中绑定tabitem的isselected属性

时间:2016-02-15 16:12:53

标签: c# wpf xaml mvvm

mainwindow.xaml上有5个标签。每个标签上都有一个按钮。单击按钮时,我必须将视图更改为下一个选项卡。

我可以通过将IsSelected的{​​{1}}属性绑定到我之前的按钮命令属性(我通过使用启用/禁用按钮)来在xaml本身中执行此操作(更改按钮单击时的选项卡)命令)?

我的TabItem会检查按钮的CanExecute属性。

我可以通过更改IsEnabledSelectedTabIndex在后​​面的代码中执行此操作。但我可以在xaml中执行它以遵循MVVM模式吗?

如果我的问题不是一个有效的问题,请忽略它。

注意:我的标签不是来自模板。

1 个答案:

答案 0 :(得分:1)

使用此Style TabControl:

<Style TargetType="TabControl">
        <Setter Property="SelectedIndex" Value="{Binding SelectedIndex}"/>
</Style>

将相同Command绑定到所有按钮,每次点击都会继续增加SelectedIndex中的ViewModel属性。

ViewModel中的属性:

private int selectedIndex;

public int SelectedIndex
{
    get { return selectedIndex; }
    set { selectedIndex = value;
    UpdateProperty("SelectedIndex");
    }
}

命令操作:

SelectedIndex++;
if (SelectedIndex == 5)
{
    SelectedIndex = 0;
}
  

检查SelectedIndex = 5因为您的标签已修复。您必须绑定ViewModel属性中的项目数,然后进行检查。 < /强>