これは、TabItemのスタイルを使用してこの動作を行い、その動作を制御するブール値にFocusableプロパティをバインドする方法を発見しました。親ビューモデルへのバインディングを取得するのはちょっと変わったものでしたが、おそらく改善する可能性があります。
これは、ユーザーがキーボードなどを使用した場合に発生しない可能性のあるクリックイベントのトリックを避けることができて便利です。
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Focusable" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.IsUpToDate}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding Group}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
出典
2016-09-22 20:03:57
Ben
ユーザーがタブを変更するための唯一の方法ではありませんが、それだけではありません。 – Tergiver