我的mainwindow.xaml
上有5个标签。在每个选项卡上都有一个按钮。在按钮上单击我必须将 View 更改为下一个选项卡。
我可以通过将IsSelected
的TabItem
属性绑定(bind)到我以前的button命令属性(通过使用命令启用/禁用按钮)来在xaml本身中执行此操作(更改按钮单击上的选项卡)吗?
我的CanExecute
将检查按钮的IsEnabled
属性。
我可以通过更改SelectedTabIndex
或SelectedTabItem
在后面的代码中执行此操作。但是我可以在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;
}