WPF TabControl使用Command更改TabItem

Pet*_*ter 6 wpf command mvvm

我有一个WPF应用程序,在主窗口中我有一个TabControl.当我们被选中时,我希望TabItems能解雇RelayCommand我所拥有的ViewModel(每个都有不同的命令TabItem).我不希望TabItem在命令CanExecute功能中设置的某些条件中选择a .这可能吗?

Job*_*Joy 4

我认为这里的正确方法不是“ICommand”,而只是一个 ViewModel 属性,它将双向绑定到 TabControl.SelectedIndex (或 SelectedItem),然后您可以在 ViewModel 中做出决定。这比定义大量特定于每个 TabItem 的命令更好

<TabControl SelectedIndex="{Binding VMSelectedTabIndex, Mode=TwoWay}">
//OR
<TabControl SelectedItem="{Binding VMSelectedItem, Mode=TwoWay}">
Run Code Online (Sandbox Code Playgroud)