我mainwindow.xaml
上有5个标签。每个标签上都有一个按钮。单击按钮时,我必须将视图更改为下一个选项卡。
我可以通过将IsSelected
的{{1}}属性绑定到我之前的按钮命令属性(我通过使用启用/禁用按钮)来在xaml本身中执行此操作(更改按钮单击时的选项卡)命令)?
我的TabItem
会检查按钮的CanExecute
属性。
我可以通过更改IsEnabled
或SelectedTabIndex
在后面的代码中执行此操作。但我可以在xaml中执行它以遵循MVVM模式吗?
如果我的问题不是一个有效的问题,请忽略它。
注意:我的标签不是来自模板。
答案 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
属性中的项目数,然后进行检查。 < /强>