我的 mainwindow.xaml
上有 5 个选项卡。每个选项卡上都有一个按钮。单击按钮时,我必须将 View 更改为下一个选项卡。
我可以通过将 TabItem
的 IsSelected
属性绑定(bind)到我之前的按钮命令属性(我启用/使用命令禁用按钮)?
我的 CanExecute
将检查按钮的 IsEnabled
属性。
我可以通过更改 SelectedTabIndex
或 SelectedTabItem
在后面的代码中执行此操作。但是我可以在 xaml 中执行此操作以遵循 MVVM 模式吗?
如果我的问题不是有效问题,请忽略它。
注意:我的标签不是来自模板。
最佳答案
使用 TabControl 的样式
:
<Style TargetType="TabControl">
<Setter Property="SelectedIndex" Value="{Binding SelectedIndex}"/>
</Style>
将相同的 Command
绑定(bind)到所有按钮,并在每次点击时不断增加 ViewModel
中的 SelectedIndex
属性。
ViewModel 中的属性:
private int selectedIndex;
public int SelectedIndex
{
get { return selectedIndex; }
set { selectedIndex = value;
UpdateProperty("SelectedIndex");
}
}
命令操作:
SelectedIndex++;
if (SelectedIndex == 5)
{
SelectedIndex = 0;
}
check for
SelectedIndex = 5
cause your tab are fixed.else you have to bind count of items in a property ofViewModel
and then put a check.
关于c# - 如何在 xaml 中绑定(bind) tabitem 的 isselected 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35414014/