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

我可以通过将IsSelectedTabItem属性绑定(bind)到我以前的button命令属性(通过使用命令启用/禁用按钮)来在xaml本身中执行此操作(更改按钮单击上的选项卡)吗?

我的CanExecute将检查按钮的IsEnabled属性。

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

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

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

最佳答案

使用TabControl的Style:

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

将相同的Command绑定(bind)到所有按钮,并在每次单击时继续增加SelectedIndex中的ViewModel属性。

ViewModel中的属性:
private int selectedIndex;

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

命令操作:
SelectedIndex++;
if (SelectedIndex == 5)
{
    SelectedIndex = 0;
}

10-07 19:42
查看更多