2011-10-17 2 views
0

コードビハインドなしで、あるTabItemでトリガーする(そしてそのIsSelected = trueを変更する)のがあれば、別のTabItem同じTabControlで可視性が変更されていますか? IsVisibleChangedはRoutedEventではありません。私のコントロールはすべてリソースからスタイルされているので、(Datatriggersを使用できるように)ローカルスタイルを設定することを避けなければなりません。トリガーIsSelected = trueローカルスタイルとコードビハインドなしのIsVisibleChanged(例TabItem)

現在、私は唯一の背後にあるコードでこれを行うと考えることができます:

 private void TabItem1_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) 
    { 
     TabItem2.IsSelected = true; 
    } 

感謝を!

+0

他のTabItemが折りたたまれている場合、選択したTabItemは常に同じ(たとえば、デフォルトのTabItem)ですか?そうでない場合は、どのような行動が必要ですか? –

+0

アプリケーションの2つの状態に応じて、タブを変更し、状態が変わるたびに最初のタブをデフォルトとして選択したい – ps23

答えて

1

そして私はちょうど地元のスタイルに

を設定し、すべての手段ではない正当な理由(少なくともこれらのリソースは、実行時に変更されない場合)することができますによって避けるために持っているので、私のコントロールは、すべてのリソースからスタイリングされていますBasedOnを使用してください。それ以外

<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}"> 
    <!-- ... --> 
</Style> 

あなたはスタイルとは無関係に、すべてのイベントの両方をトリガすることができますBlend SDKから対話などの追加ツールを使用することができます。