2011-12-21 20 views
1

タブがアクティブ、非アクティブ、およびクローズになったときにキャプチャしようとしています。 TabControlには、これらのシーンに対してトラップできるイベントはありません。WPF TabControl/TabItemアクティブ、非アクティブ、および閉じる

私たちのシステムでは、ユーザーがタブを離れてプログラムの別の部分に移動するときに「保存」をクリックする必要があります。 (それらがそのタブのデータに変更を加えた場合)。

ご意見やご提案はありますか?または、代わりにこの機能を持つ他のコントロールを使用できますか?

おかげで、

マイク

答えて

0

はTabControlののSelectionChangedイベントを試してみてください。これにより、現在のタブのプロパティSelectedItemSelectedIndexのプロパティが表示されます。

0

あなたはTabItemから派生カスタムクラスを持っている場合は、タブの選択と非選択を扱うことができる内部のが

public class MyTabItem : TabItem 
{ 
     protected override void OnSelected(RoutedEventArgs e) 
     { 
      base.OnSelected(e); 

     } 


     protected override void OnUnselected(RoutedEventArgs e) 
     { 
      base.OnUnselected(e); 

     } 
} 

をしましょう。

0

あなたのタブ項目としてのviewmodelsのコレクションで、ViewModelにしてMVVMパターンを使用している場合は、このように、ViewModelにではなICollectionViewへの参照を保持できます。

public ICollectionView MyTabItemsCollectionView{ get; set; } 

をその後にコンストラクタは、あなたがそれを

012を閉じてからユーザーを防ぐために必要なものは何でも、イベントハンドラでは、

MyTabItemsCollectionView= CollectionViewSource.GetDefaultView(MyTabItemsCollection); 
MyTabItemsCollectionView.CurrentChanging += MyTabItemsCollectionViewCurrentChanging; 

その後CurrentChangingイベントのイベントハンドラを、それを設定して作成します

関連する問題